OpenFarm
OpenFarm copied to clipboard
Some gardens return an error when saving.
This happened for my garden called Hanoi Balcony.
When I edit the garden nothing happens visually, but the console shows that an Internal Server Error occurred.
A NoMethodError occurred in gardens#update:
undefined method `each' for 0:Fixnum
app/mutations/gardens/update_garden.rb:35:in `execute'
-------------------------------
Request:
-------------------------------
* URL : https://openfarm.cc/api/v1/gardens/54c9b5bd6164640003320000
* HTTP Method: PUT
* IP address : 64.186.120.126
* Parameters : {"data"=>{"type"=>"gardens", "id"=>"54c9b5bd6164640003320000", "attributes"=>{"name"=>"The Hanoi Balcony", "description"=>"We created this garden automatically to get\nyou started. You can edit it to better suit\nyour needs!", "location"=>"Inside", "type"=>"Inside", "average_sun"=>"Full Sun", "soil_type"=>"Loam", "ph"=>7.5, "is_private"=>false, "user"=>{"_id"=>"53fdea2a6639300002020000", "admin"=>true, "agree"=>nil, "display_name"=>"simonv3", "email"=>"[email protected]", "favorited_guide_ids"=>["54bd38e96239330003450200", "5684b47b1829fb0003000043", "57deccbcac3ef50003000002"], "help_list"=>false, "is_private"=>false, "level"=>0, "location"=>"", "mailing_list"=>false, "preferred_growing_style"=>"", "sash_id"=>"550be3633062310003070000", "soil_type"=>"", "years_experience"=>nil}, "id"=>"54c9b5bd6164640003320000", "relationships"=>nil, "garden_crops"=>[{"garden"=>"54c9b5bd6164640003320000", "guide"=>nil, "crop"=>{"id"=>"543998a83162320002000000", "name"=>"Cherry Tomatoes"}, "sowed"=>"2015-01-29", "stage"=>"Planted", "quantity"=>0, "history"=>[], "id"=>"54c9b5d56164640003340000", "links"=>{"self"=>{"api"=>"/api/v1/gardens/54c9b5bd6164640003320000/garden_crops/54c9b5d56164640003340000"}}, "hide"=>false}], "pictures"=>[], "editing_crops"=>false, "editing"=>false, "links"=>nil}, "images"=>[]}, "format"=>"json", "controller"=>"api/v1/gardens", "action"=>"update", "id"=>"54c9b5bd6164640003320000", "garden"=>{}}
* Timestamp : 2016-09-18 19:14:54 UTC
* Server : ce0920ed-6881-4ac3-beb6-89437073fcce
* Rails root : /app
* Process: 3
-------------------------------
Session:
-------------------------------
* session id: [FILTERED]
* data: {"session_id"=>"957fb20f70c98e9f9a6f988b0a7593bd",
"warden.user.user.key"=>
[[BSON::ObjectId('53fdea2a6639300002020000')],
"$2a$10$SIPXytGHVJXZwaR5IOHYgO"],
"_csrf_token"=>"teSobnVyRyl0VcKSRI/9mdK33JaPtY+LTWabkFFHLRY=",
"announcement_hide_time"=>2016-06-15 01:18:52 UTC}
-------------------------------
Environment:
-------------------------------
* CONTENT_LENGTH : 1249
* CONTENT_TYPE : application/json;charset=UTF-8
* GATEWAY_INTERFACE : CGI/1.2
* HTTP_ACCEPT : application/json, text/plain, */*
* HTTP_ACCEPT_ENCODING : gzip, deflate, sdch, br
* HTTP_ACCEPT_LANGUAGE : en-US,en;q=0.8,nl;q=0.6
* HTTP_CACHE_CONTROL : no-cache
* HTTP_CONNECTION : close
* HTTP_CONNECT_TIME : 1
* HTTP_COOKIE : _OpenFarm_session=RmNiMmhsN2N6NzgrOUZsQUlvUmhzZE02UmJ5ODZHa2VUSzJzL21sVVlnYklaOUpOQkcvRmhiZHVsaWhIRThkQmVOdGtjOGlHZGRHdS80ajRZeHhLZW9GQlB2cVNobmlMMGtuenYxR3plSlZWRCtIa1liUDJ1QUFCWW5yNkxUSUYrc2lkL1RWMUFodlpCdWljc2krN0JKNnBpa1d0TE1mQnJPeXRUeUpXZVlKNDQwNG5ITWJreHJQNXB5d0FPdkhLNkJGRUdyZEZmVmFMN1dQZ1NOOGQ2MWhaVmxJODFpQTdGaGZ0ZjJnUURHa2hGR1BsUjFGQTBEL2w0K2lVUGJkVzdIT1BFaUtIS0duU0tCdzQwc3Z0ZzRjaGFKMnNRWGZ6S3BsNHVDN0RtcHRQNGpkb0k3a0JWLzFwQnVPK2FpRW1Eekdub0FWdXVpTnB0R092emxlQjd3V1ZqSmFDekZGMWhjS2t6UUVQVHZyTVU5OEZJbExZc0NNTXdNM2s5V1RWYTAyVi9lcGMxRytmUzl3Z3V6eU0yVGlqY0Q1Z1ljK1V0NFA5cVdTbWl6Q01BclRjdjlvajV4R1BEbUhlL0I2Si0tVWMyKzRJZm5hNkFHQnhKV1NBS29DQT09--17cdae4e3690526bc867e30067c9d79ad373c4c7
* HTTP_DNT : 1
* HTTP_HOST : openfarm.cc
* HTTP_ORIGIN : https://openfarm.cc
* HTTP_PRAGMA : no-cache
* HTTP_REFERER : https://openfarm.cc/en/users/53fdea2a6639300002020000
* HTTP_TOTAL_ROUTE_TIME : 0
* HTTP_USER_AGENT : Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36
* HTTP_VERSION : HTTP/1.1
* HTTP_VIA : 1.1 vegur
* HTTP_X_CSRF_TOKEN : /DPt6AkjtPX995gjzBtWLYu31knVvvZzCRXNeHM3q85J10WGfFHz3ImiWrGIlKu0WQAK31oLefhEc1boInCG2A==
* HTTP_X_FORWARDED_FOR : 64.186.120.126
* HTTP_X_FORWARDED_PORT : 443
* HTTP_X_FORWARDED_PROTO : https
* HTTP_X_REQUESTED_WITH : XMLHttpRequest
* HTTP_X_REQUEST_ID : 7ee26e34-7a36-4d9c-a26b-3bf3b24c392f
* HTTP_X_REQUEST_START : 1474226094046
* ORIGINAL_FULLPATH : /api/v1/gardens/54c9b5bd6164640003320000
* ORIGINAL_SCRIPT_NAME :
* PATH_INFO : /api/v1/gardens/54c9b5bd6164640003320000
* QUERY_STRING :
* RAW_POST_DATA : [FILTERED]
* REMOTE_ADDR : 10.79.185.47
* REQUEST_METHOD : PUT
* REQUEST_PATH : /api/v1/gardens/54c9b5bd6164640003320000
* REQUEST_URI : /api/v1/gardens/54c9b5bd6164640003320000
* ROUTES_70104411075100_SCRIPT_NAME :
* SCRIPT_NAME :
* SERVER_NAME : openfarm.cc
* SERVER_PORT : 80
* SERVER_PROTOCOL : HTTP/1.1
* SERVER_SOFTWARE : thin 1.7.0 codename Dunder Mifflin
* action_controller.instance : #<Api::V1::GardensController:0x007f84e8dc20c0>
* action_dispatch.backtrace_cleaner : #<Rails::BacktraceCleaner:0x007f84ebe68288>
* action_dispatch.cookies : #<ActionDispatch::Cookies::CookieJar:0x007f84e8ca69c0>
* action_dispatch.cookies_digest :
* action_dispatch.cookies_serializer :
* action_dispatch.encrypted_cookie_salt : encrypted cookie
* action_dispatch.encrypted_signed_cookie_salt : signed encrypted cookie
* action_dispatch.http_auth_salt : http authentication
* action_dispatch.key_generator : #<ActiveSupport::CachingKeyGenerator:0x007f84ebe47b28>
* action_dispatch.logger : #<RailsStdoutLogging::StdoutLogger:0x007f84e8f1e838>
* action_dispatch.parameter_filter : [:password]
* action_dispatch.redirect_filter : []
* action_dispatch.remote_ip : 64.186.120.126
* action_dispatch.request.content_type : application/json
* action_dispatch.request.formats : [#<Mime::Type:0x007f84ea8c0930 @synonyms=["text/x-json", "application/jsonrequest"], @symbol=:json, @string="application/json", @hash=-664465035423428710>]
* action_dispatch.request.parameters : {"data"=>{"type"=>"gardens", "id"=>"54c9b5bd6164640003320000", "attributes"=>{"name"=>"The Hanoi Balcony", "description"=>"We created this garden automatically to get\nyou started. You can edit it to better suit\nyour needs!", "location"=>"Inside", "type"=>"Inside", "average_sun"=>"Full Sun", "soil_type"=>"Loam", "ph"=>7.5, "is_private"=>false, "user"=>{"_id"=>"53fdea2a6639300002020000", "admin"=>true, "agree"=>nil, "display_name"=>"simonv3", "email"=>"[email protected]", "favorited_guide_ids"=>["54bd38e96239330003450200", "5684b47b1829fb0003000043", "57deccbcac3ef50003000002"], "help_list"=>false, "is_private"=>false, "level"=>0, "location"=>"", "mailing_list"=>false, "preferred_growing_style"=>"", "sash_id"=>"550be3633062310003070000", "soil_type"=>"", "years_experience"=>nil}, "id"=>"54c9b5bd6164640003320000", "relationships"=>nil, "garden_crops"=>[{"garden"=>"54c9b5bd6164640003320000", "guide"=>nil, "crop"=>{"id"=>"543998a83162320002000000", "name"=>"Cherry Tomatoes"}, "sowed"=>"2015-01-29", "stage"=>"Planted", "quantity"=>0, "history"=>[], "id"=>"54c9b5d56164640003340000", "links"=>{"self"=>{"api"=>"/api/v1/gardens/54c9b5bd6164640003320000/garden_crops/54c9b5d56164640003340000"}}, "hide"=>false}], "pictures"=>[], "editing_crops"=>false, "editing"=>false, "links"=>nil}, "images"=>[]}, "format"=>"json", "controller"=>"api/v1/gardens", "action"=>"update", "id"=>"54c9b5bd6164640003320000", "garden"=>{}}
* action_dispatch.request.path_parameters : {:format=>"json", :controller=>"api/v1/gardens", :action=>"update", :id=>"54c9b5bd6164640003320000"}
* action_dispatch.request.query_parameters : {}
* action_dispatch.request.request_parameters : {"data"=>{"type"=>"gardens", "id"=>"54c9b5bd6164640003320000", "attributes"=>{"name"=>"The Hanoi Balcony", "description"=>"We created this garden automatically to get\nyou started. You can edit it to better suit\nyour needs!", "location"=>"Inside", "type"=>"Inside", "average_sun"=>"Full Sun", "soil_type"=>"Loam", "ph"=>7.5, "is_private"=>false, "user"=>{"_id"=>"53fdea2a6639300002020000", "admin"=>true, "agree"=>nil, "display_name"=>"simonv3", "email"=>"[email protected]", "favorited_guide_ids"=>["54bd38e96239330003450200", "5684b47b1829fb0003000043", "57deccbcac3ef50003000002"], "help_list"=>false, "is_private"=>false, "level"=>0, "location"=>"", "mailing_list"=>false, "preferred_growing_style"=>"", "sash_id"=>"550be3633062310003070000", "soil_type"=>"", "years_experience"=>nil}, "id"=>"54c9b5bd6164640003320000", "relationships"=>nil, "garden_crops"=>[{"garden"=>"54c9b5bd6164640003320000", "guide"=>nil, "crop"=>{"id"=>"543998a83162320002000000", "name"=>"Cherry Tomatoes"}, "sowed"=>"2015-01-29", "stage"=>"Planted", "quantity"=>0, "history"=>[], "id"=>"54c9b5d56164640003340000", "links"=>{"self"=>{"api"=>"/api/v1/gardens/54c9b5bd6164640003320000/garden_crops/54c9b5d56164640003340000"}}, "hide"=>false}], "pictures"=>[], "editing_crops"=>false, "editing"=>false, "links"=>nil}, "images"=>[]}, "garden"=>{}}
* action_dispatch.request.unsigned_session_cookie: {"session_id"=>"957fb20f70c98e9f9a6f988b0a7593bd", "warden.user.user.key"=>[[BSON::ObjectId('53fdea2a6639300002020000')], "$2a$10$SIPXytGHVJXZwaR5IOHYgO"], "_csrf_token"=>"teSobnVyRyl0VcKSRI/9mdK33JaPtY+LTWabkFFHLRY=", "announcement_hide_time"=>2016-06-15 01:18:52 UTC}
* action_dispatch.request_id : 7ee26e34-7a36-4d9c-a26b-3bf3b24c392f
* action_dispatch.routes : #<ActionDispatch::Routing::RouteSet:0x007f84e909e438>
* action_dispatch.secret_key_base : 9a2bfa66386c5ba78c543bc6410072bac89433debea7ea2c969264d9e1b18ef3d3deec8c7b7237c9f2f4c47eef10d0a848b3f4097e3ad516c4faf8c7c2cfab8e
* action_dispatch.secret_token :
* action_dispatch.show_detailed_exceptions : false
* action_dispatch.show_exceptions : true
* action_dispatch.signed_cookie_salt : signed cookie
* async.callback : #<Method: Thin::Connection#post_process>
* async.close : #<EventMachine::DefaultDeferrable:0x007f84e8e50e60>
* rack-timeout.info : #<struct Rack::Timeout::RequestDetails id="7ee26e34-7a36-4d9c-a26b-3bf3b24c392f", wait=0, service=0.001002464909106493, timeout=15, state=:active>
* rack.attack.throttle_data : {"req/ip"=>{:count=>1, :period=>300, :limit=>300}}
* rack.cors : #<Rack::Cors::Result:0x007f84e8e3f200>
* rack.errors : #<IO:0x007f84e5c51540>
* rack.input : #<StringIO:0x007f84e8e58368>
* rack.multiprocess : false
* rack.multithread : false
* rack.request.cookie_hash : {"_OpenFarm_session"=>"RmNiMmhsN2N6NzgrOUZsQUlvUmhzZE02UmJ5ODZHa2VUSzJzL21sVVlnYklaOUpOQkcvRmhiZHVsaWhIRThkQmVOdGtjOGlHZGRHdS80ajRZeHhLZW9GQlB2cVNobmlMMGtuenYxR3plSlZWRCtIa1liUDJ1QUFCWW5yNkxUSUYrc2lkL1RWMUFodlpCdWljc2krN0JKNnBpa1d0TE1mQnJPeXRUeUpXZVlKNDQwNG5ITWJreHJQNXB5d0FPdkhLNkJGRUdyZEZmVmFMN1dQZ1NOOGQ2MWhaVmxJODFpQTdGaGZ0ZjJnUURHa2hGR1BsUjFGQTBEL2w0K2lVUGJkVzdIT1BFaUtIS0duU0tCdzQwc3Z0ZzRjaGFKMnNRWGZ6S3BsNHVDN0RtcHRQNGpkb0k3a0JWLzFwQnVPK2FpRW1Eekdub0FWdXVpTnB0R092emxlQjd3V1ZqSmFDekZGMWhjS2t6UUVQVHZyTVU5OEZJbExZc0NNTXdNM2s5V1RWYTAyVi9lcGMxRytmUzl3Z3V6eU0yVGlqY0Q1Z1ljK1V0NFA5cVdTbWl6Q01BclRjdjlvajV4R1BEbUhlL0I2Si0tVWMyKzRJZm5hNkFHQnhKV1NBS29DQT09--17cdae4e3690526bc867e30067c9d79ad373c4c7"}
* rack.request.cookie_string : _OpenFarm_session=RmNiMmhsN2N6NzgrOUZsQUlvUmhzZE02UmJ5ODZHa2VUSzJzL21sVVlnYklaOUpOQkcvRmhiZHVsaWhIRThkQmVOdGtjOGlHZGRHdS80ajRZeHhLZW9GQlB2cVNobmlMMGtuenYxR3plSlZWRCtIa1liUDJ1QUFCWW5yNkxUSUYrc2lkL1RWMUFodlpCdWljc2krN0JKNnBpa1d0TE1mQnJPeXRUeUpXZVlKNDQwNG5ITWJreHJQNXB5d0FPdkhLNkJGRUdyZEZmVmFMN1dQZ1NOOGQ2MWhaVmxJODFpQTdGaGZ0ZjJnUURHa2hGR1BsUjFGQTBEL2w0K2lVUGJkVzdIT1BFaUtIS0duU0tCdzQwc3Z0ZzRjaGFKMnNRWGZ6S3BsNHVDN0RtcHRQNGpkb0k3a0JWLzFwQnVPK2FpRW1Eekdub0FWdXVpTnB0R092emxlQjd3V1ZqSmFDekZGMWhjS2t6UUVQVHZyTVU5OEZJbExZc0NNTXdNM2s5V1RWYTAyVi9lcGMxRytmUzl3Z3V6eU0yVGlqY0Q1Z1ljK1V0NFA5cVdTbWl6Q01BclRjdjlvajV4R1BEbUhlL0I2Si0tVWMyKzRJZm5hNkFHQnhKV1NBS29DQT09--17cdae4e3690526bc867e30067c9d79ad373c4c7
* rack.request.query_hash : {}
* rack.request.query_string :
* rack.run_once : false
* rack.session : #<ActionDispatch::Request::Session:0x007f84e8e29540>
* rack.session.options : #<ActionDispatch::Request::Session::Options:0x007f84e8e29450>
* rack.url_scheme : http
* rack.version : [1, 0]
* warden : Warden::Proxy:70104409743820 @config={:default_scope=>:user, :scope_defaults=>{}, :default_strategies=>{:user=>[:rememberable, :database_authenticatable]}, :intercept_401=>false, :failure_app=>#<Devise::Delegator:0x007f84ebe08c20>}
-------------------------------
Backtrace:
-------------------------------
app/mutations/gardens/update_garden.rb:35:in `execute'
app/controllers/api/v1/gardens_controller.rb:33:in `update'
A reproduction of this on local using both rspec and the running environment doesn't return a failure, so there might be something complex about the garden going on? Legacy?