time-exchange-gr/oscurrency — Issue #16: ReverseAssociationRequired Exception
Author: 3point2
Created: 2011-11-07 14:45:31+00:00
State: open

A ActiveScaffold::ReverseAssociationRequired occurred in people#create:

Association exchanges: In order to support :has_one and :has_many where the parent record is new and the child record(s) validate the presence of the parent, ActiveScaffold requires the reverse association (the belongs_to).
[RAILS_ROOT]/vendor/plugins/active_scaffold/lib/active_scaffold/attribute_params.rb:79:in `update_record_from_params'

-------------------------------
Request:
-------------------------------

* URL : http://time-exchange.gr/admin/people
* IP address: 87.202.27.248
* Parameters: {"commit"=>"Create", "action"=>"create", "authenticity_token"=>"7L2ldPbXF5cWLhHE4BMGp779RtrU1ansmMQMl8SD7Js=", "controller"=>"admin/people", "record"=>{"name"=>"christo", "password_confirmation"=>"[FILTERED]", "phone"=>"", "password"=>"[FILTERED]", "email"=>"christopapyts@gmail.com"}}
* Rails root: /app

-------------------------------
Session:
-------------------------------

* session id: nil
* data: nil

-------------------------------
Environment:
-------------------------------

* CONTENT_LENGTH : 232
* CONTENT_TYPE : application/x-www-form-urlencoded; charset=UTF-8
* GATEWAY_INTERFACE : CGI/1.2
* HTTP_ACCEPT : text/javascript, text/html, application/xml, text/xml, */*
* HTTP_ACCEPT_CHARSET : ISO-8859-1,utf-8;q=0.7,*;q=0.7
* HTTP_ACCEPT_ENCODING : gzip, deflate
* HTTP_ACCEPT_LANGUAGE : en-us,en;q=0.5
* HTTP_CACHE_CONTROL : no-cache
* HTTP_CONNECTION : close
* HTTP_COOKIE : trcusr=1925; cltid=6091; fboard_settings[member_id]=80; fboard_settings[current_view]=flat; _oscurrency_session=BAh7CjoQX2NzcmZfdG9rZW4iMTdMMmxkUGJYRjVjV0xoSEU0Qk1HcDc3OVJ0clUxYW5zbU1RTWw4U0Q3SnM9IhpwZXJzb25fY3JlZGVudGlhbHNfaWRpCCIUYXM6YWRtaW4vcGVvcGxlewY6CWxpc3R7BiIJcGFnZSIGMjoPc2Vzc2lvbl9pZCIlNjQwY2E5MjdhZjE2MDE3YzAzN2NjZmYxNjhmMGMxOTMiF3BlcnNvbl9jcmVkZW50aWFscyIBgDg5NTJlNmMyNWRhZjRhOGM4ZDc4NjYyOTUzZWI1ZDY0ZDM2Y2IwM2UyM2U2MjE2YTVjZDI1OTA0NTZmZjA2Nzk1NTYyYzFlNTBlYTIxNTUwYTMwNDVmOTA5ZTZhZGUzMzZhYTZkMzQyOThiZTU0ODU4MjkyYTBhMWFmNDUwMjE4--6ddad79416cedd5850f35a3bc4033cf82b447cc2; person_credentials=8952e6c25daf4a8c8d78662953eb5d64d36cb03e23e6216a5cd2590456ff06795562c1e50ea21550a3045f909e6ade336aa6d34298be54858292a0a1af450218%3A%3A3
* HTTP_HOST : time-exchange.gr
* HTTP_PRAGMA : no-cache
* HTTP_REFERER : http://time-exchange.gr/admin/people
* HTTP_USER_AGENT : Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
* HTTP_VERSION : HTTP/1.0
* HTTP_X_FORWARDED_FOR : 87.202.27.248
* HTTP_X_HEROKU_DYNOS_IN_USE : 1
* HTTP_X_HEROKU_QUEUE_DEPTH : 0
* HTTP_X_HEROKU_QUEUE_WAIT_TIME : 2
* HTTP_X_PROTOTYPE_VERSION : 1.6.0.1
* HTTP_X_REAL_IP : 87.202.27.248
* HTTP_X_REQUESTED_WITH : XMLHttpRequest
* HTTP_X_REQUEST_START : 1319981941543
* PATH_INFO : /admin/people
* QUERY_STRING :
* REMOTE_ADDR : 10.82.127.30
* REQUEST_METHOD : POST
* REQUEST_PATH : /admin/people
* REQUEST_URI : /admin/people
* SCRIPT_NAME :
* SERVER_NAME : time-exchange.gr
* SERVER_PORT : 80
* SERVER_PROTOCOL : HTTP/1.1
* SERVER_SOFTWARE : thin 1.2.6 codename Crazy Delicious
* action_controller.request.path_parameters : actioncreatecontrolleradmin/people
* action_controller.request.query_parameters :
* action_controller.request.request_parameters : commitCreateauthenticity_token7L2ldPbXF5cWLhHE4BMGp779RtrU1ansmMQMl8SD7Js=recordnamechristopassword_confirmation1234phonepassword1234emailchristopapyts@gmail.com
* action_controller.rescue.request : #
* action_controller.rescue.response : #
* action_dispatch.request.unsigned_session_cookie: person_credentials_id3_csrf_token7L2ldPbXF5cWLhHE4BMGp779RtrU1ansmMQMl8SD7Js=as:admin/peoplelistpage2session_id640ca927af16017c037ccff168f0c193person_credentials8952e6c25daf4a8c8d78662953eb5d64d36cb03e23e6216a5cd2590456ff06795562c1e50ea21550a3045f909e6ade336aa6d34298be54858292a0a1af450218
* async.callback : #
* async.close : #
* rack.errors : #
* rack.input : #
* rack.multiprocess : false
* rack.multithread : false
* rack.request.cookie_hash : fboard_settings[member_id]80_oscurrency_sessionBAh7CjoQX2NzcmZfdG9rZW4iMTdMMmxkUGJYRjVjV0xoSEU0Qk1HcDc3OVJ0clUxYW5zbU1RTWw4U0Q3SnM9IhpwZXJzb25fY3JlZGVudGlhbHNfaWRpCCIUYXM6YWRtaW4vcGVvcGxlewY6CWxpc3R7BiIJcGFnZSIGMjoPc2Vzc2lvbl9pZCIlNjQwY2E5MjdhZjE2MDE3YzAzN2NjZmYxNjhmMGMxOTMiF3BlcnNvbl9jcmVkZW50aWFscyIBgDg5NTJlNmMyNWRhZjRhOGM4ZDc4NjYyOTUzZWI1ZDY0ZDM2Y2IwM2UyM2U2MjE2YTVjZDI1OTA0NTZmZjA2Nzk1NTYyYzFlNTBlYTIxNTUwYTMwNDVmOTA5ZTZhZGUzMzZhYTZkMzQyOThiZTU0ODU4MjkyYTBhMWFmNDUwMjE4--6ddad79416cedd5850f35a3bc4033cf82b447cc2fboard_settings[current_view]flatcltid6091person_credentials8952e6c25daf4a8c8d78662953eb5d64d36cb03e23e6216a5cd2590456ff06795562c1e50ea21550a3045f909e6ade336aa6d34298be54858292a0a1af450218::3trcusr1925
* rack.request.cookie_string : trcusr=1925; cltid=6091; fboard_settings[member_id]=80; fboard_settings[current_view]=flat; _oscurrency_session=BAh7CjoQX2NzcmZfdG9rZW4iMTdMMmxkUGJYRjVjV0xoSEU0Qk1HcDc3OVJ0clUxYW5zbU1RTWw4U0Q3SnM9IhpwZXJzb25fY3JlZGVudGlhbHNfaWRpCCIUYXM6YWRtaW4vcGVvcGxlewY6CWxpc3R7BiIJcGFnZSIGMjoPc2Vzc2lvbl9pZCIlNjQwY2E5MjdhZjE2MDE3YzAzN2NjZmYxNjhmMGMxOTMiF3BlcnNvbl9jcmVkZW50aWFscyIBgDg5NTJlNmMyNWRhZjRhOGM4ZDc4NjYyOTUzZWI1ZDY0ZDM2Y2IwM2UyM2U2MjE2YTVjZDI1OTA0NTZmZjA2Nzk1NTYyYzFlNTBlYTIxNTUwYTMwNDVmOTA5ZTZhZGUzMzZhYTZkMzQyOThiZTU0ODU4MjkyYTBhMWFmNDUwMjE4--6ddad79416cedd5850f35a3bc4033cf82b447cc2; person_credentials=8952e6c25daf4a8c8d78662953eb5d64d36cb03e23e6216a5cd2590456ff06795562c1e50ea21550a3045f909e6ade336aa6d34298be54858292a0a1af450218%3A%3A3
* rack.request.form_hash : commitCreateauthenticity_token7L2ldPbXF5cWLhHE4BMGp779RtrU1ansmMQMl8SD7Js=recordnamechristopassword_confirmation1234phonepassword1234emailchristopapyts@gmail.com
* rack.request.form_input : #
* rack.request.form_vars : authenticity_token=7L2ldPbXF5cWLhHE4BMGp779RtrU1ansmMQMl8SD7Js%3D&record%5Bname%5D=christo&record%5Bemail%5D=christopapyts%40gmail.com&record%5Bphone%5D=&record%5Bpassword%5D=1234&record%5Bpassword_confirmation%5D=1234&commit=Create
* rack.request.query_hash :
* rack.request.query_string :
* rack.run_once : false
* rack.session : _csrf_token7L2ldPbXF5cWLhHE4BMGp779RtrU1ansmMQMl8SD7Js=person_credentials_id3as:admin/peoplelistpage2session_id640ca927af16017c037ccff168f0c193person_credentials8952e6c25daf4a8c8d78662953eb5d64d36cb03e23e6216a5cd2590456ff06795562c1e50ea21550a3045f909e6ade336aa6d34298be54858292a0a1af450218
* rack.session.options : domainhttponlytruepath/key_session_idid640ca927af16017c037ccff168f0c193expire_after
* rack.url_scheme : http
* rack.version : 10

* Process: 1
* Server : ba983aa5-35e8-44bf-b43a-9f2355148dc1

-------------------------------
Backtrace:
-------------------------------
```
[RAILS_ROOT]/vendor/plugins/active_scaffold/lib/active_scaffold/attribute_params.rb:79:in `update_record_from_params'
[RAILS_ROOT]/vendor/plugins/active_scaffold/lib/active_scaffold/attribute_params.rb:75:in `each'
[RAILS_ROOT]/vendor/plugins/active_scaffold/lib/active_scaffold/attribute_params.rb:75:in `update_record_from_params'
[RAILS_ROOT]/vendor/plugins/active_scaffold/lib/active_scaffold/actions/create.rb:105:in `do_create'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in `transaction'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/activerecord-2.3.14/lib/active_record/transactions.rb:182:in `transaction'
[RAILS_ROOT]/vendor/plugins/active_scaffold/lib/active_scaffold/actions/create.rb:104:in `do_create'
[RAILS_ROOT]/vendor/plugins/active_scaffold/lib/active_scaffold/actions/create.rb:17:in `create'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/base.rb:1333:in `send'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/base.rb:1333:in `perform_action_without_filters'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/filters.rb:617:in `call_filters'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/filters.rb:610:in `perform_action_without_benchmark'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/activesupport-2.3.14/lib/active_support/core_ext/benchmark.rb:17:in `ms'
/usr/ruby1.8.7/lib/ruby/1.8/benchmark.rb:308:in `realtime'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/activesupport-2.3.14/lib/active_support/core_ext/benchmark.rb:17:in `ms'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/rescue.rb:160:in `perform_action_without_flash'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/flash.rb:151:in `perform_action_without_render_component'
[RAILS_ROOT]/vendor/plugins/render_component/lib/components.rb:39:in `perform_action'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/base.rb:532:in `send'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/base.rb:532:in `process_without_filters'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/filters.rb:606:in `process'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/base.rb:391:in `process'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/base.rb:386:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/routing/route_set.rb:438:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/dispatcher.rb:87:in `dispatch'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/dispatcher.rb:121:in `_call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/dispatcher.rb:130:in `build_middleware_stack'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/activerecord-2.3.14/lib/active_record/query_cache.rb:29:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/activerecord-2.3.14/lib/active_record/query_cache.rb:29:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/activerecord-2.3.14/lib/active_record/query_cache.rb:9:in `cache'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/activerecord-2.3.14/lib/active_record/query_cache.rb:28:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/string_coercion.rb:25:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/rack-1.1.2/lib/rack/head.rb:9:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/rack-1.1.2/lib/rack/methodoverride.rb:24:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/params_parser.rb:15:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/session/cookie_store.rb:99:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/activesupport-2.3.14/lib/active_support/cache/strategy/local_cache.rb:25:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/failsafe.rb:26:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/rack-1.1.2/lib/rack/lock.rb:11:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/rack-1.1.2/lib/rack/lock.rb:11:in `synchronize'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/rack-1.1.2/lib/rack/lock.rb:11:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/dispatcher.rb:106:in `call'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/rack/adapter/rails.rb:74:in `call'
/home/heroku_rack/lib/static_assets.rb:9:in `call'
/home/heroku_rack/lib/last_access.rb:15:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/rack-1.1.2/lib/rack/urlmap.rb:47:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/rack-1.1.2/lib/rack/urlmap.rb:41:in `each'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/rack-1.1.2/lib/rack/urlmap.rb:41:in `call'
/home/heroku_rack/lib/date_header.rb:14:in `call'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/rack-1.1.2/lib/rack/builder.rb:77:in `call'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/thin/connection.rb:76:in `pre_process'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/thin/connection.rb:74:in `catch'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/thin/connection.rb:74:in `pre_process'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/thin/connection.rb:57:in `process'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/thin/connection.rb:42:in `receive_data'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
[RAILS_ROOT]/.bundle/gems/ruby/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/thin/backends/base.rb:57:in `start'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/thin/server.rb:156:in `start'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/thin/controllers/controller.rb:80:in `start'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/thin/runner.rb:177:in `send'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/thin/runner.rb:177:in `run_command'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/thin/runner.rb:143:in `run!'
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/bin/thin:6
/usr/ruby1.8.7/bin/thin:19:in `load'
/usr/ruby1.8.7/bin/thin:19
```