OpenFarm icon indicating copy to clipboard operation
OpenFarm copied to clipboard

Some gardens return an error when saving.

Open simonv3 opened this issue 7 years ago • 0 comments

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?

simonv3 avatar Sep 18 '16 19:09 simonv3