Hi,
I'm using a belongs_to association to link two models, and having some very odd problems with it.
When I first view the page, all is well, and the associated object is loaded, however on the second view it crashes with a NoMethodError on the association (full trace is at the bottom of this e-mail).
It looks like my model is losing it's association on the second run, since the method no longer exists, if I call @model.class.belongs_to :associated_model it will run successfully every time.
This looks similar to bug 6720 in Trac, although that bug was apparently closed 10 months ago. Jon
Backtrace follows:
vendor/rails/activerecord/lib/active_record/attribute_methods.rb: 205:in `method_missing' vendor/rails/activerecord/lib/active_record/associations/ association_proxy.rb:125:in `send' vendor/rails/activerecord/lib/active_record/associations/ association_proxy.rb:125:in `method_missing' app/views/servers/index.rhtml:25:in `_run_erb_47app47views47servers47index46rhtml' app/views/servers/index.rhtml:18:in `each' app/views/servers/index.rhtml:18:in `_run_erb_47app47views47servers47index46rhtml' vendor/rails/actionpack/lib/action_view/base.rb:637:in `send' vendor/rails/actionpack/lib/action_view/base.rb:637:in `compile_and_render_template' vendor/rails/actionpack/lib/action_view/base.rb:365:in `render_template' vendor/rails/actionpack/lib/action_view/base.rb:316:in `render_file' vendor/rails/actionpack/lib/action_controller/base.rb:1100:in `render_for_file' vendor/rails/actionpack/lib/action_controller/base.rb:836:in `render_with_no_layout' vendor/rails/actionpack/lib/action_controller/layout.rb:262:in `render_without_benchmark' vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render' vendor/rails/actionpack/lib/action_controller/base.rb:1153:in `default_render' vendor/rails/actionpack/lib/action_controller/base.rb:1159:in `perform_action_without_filters' vendor/rails/actionpack/lib/action_controller/filters.rb:697:in `call_filters' vendor/rails/actionpack/lib/action_controller/filters.rb:689:in `perform_action_without_benchmark' vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' vendor/rails/actionpack/lib/action_controller/rescue.rb:199:in `perform_action_without_caching' vendor/rails/actionpack/lib/action_controller/caching.rb:678:in `perform_action' vendor/rails/activerecord/lib/active_record/connection_adapters/ abstract/query_cache.rb:33:in `cache' vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache' vendor/rails/actionpack/lib/action_controller/caching.rb:677:in `perform_action' vendor/rails/actionpack/lib/action_controller/base.rb:524:in `send' vendor/rails/actionpack/lib/action_controller/base.rb:524:in `process_without_filters' vendor/rails/actionpack/lib/action_controller/filters.rb:685:in `process_without_session_management_support' vendor/rails/actionpack/lib/action_controller/session_management.rb: 123:in `process' vendor/rails/actionpack/lib/action_controller/base.rb:388:in `process' vendor/rails/actionpack/lib/action_controller/dispatcher.rb:171:in `handle_request' vendor/rails/actionpack/lib/action_controller/dispatcher.rb:115:in `dispatch' vendor/rails/actionpack/lib/action_controller/dispatcher.rb:126:in `dispatch_cgi' vendor/rails/actionpack/lib/action_controller/dispatcher.rb:9:in `dispatch' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel/rails.rb:76:in `process' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel/rails.rb:74:in `synchronize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel/rails.rb:74:in `process' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel.rb:159:in `process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel.rb:158:in `each' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel.rb:158:in `process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel.rb:285:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel.rb:285:in `initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel.rb:285:in `new' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel.rb:285:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel.rb:268:in `initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel.rb:268:in `new' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel.rb:268:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel/configurator.rb: 282:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel/configurator.rb: 281:in `each' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel/configurator.rb: 281:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/bin/mongrel_rails:128:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/lib/mongrel/command.rb: 212:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.2/bin/mongrel_rails:281 vendor/rails/activesupport/lib/active_support/dependencies.rb:489:in `load' vendor/rails/activesupport/lib/active_support/dependencies.rb:489:in `load' vendor/rails/activesupport/lib/active_support/dependencies.rb:342:in `new_constants_in' vendor/rails/activesupport/lib/active_support/dependencies.rb:489:in `load' vendor/rails/railties/lib/commands/servers/mongrel.rb:64 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' vendor/rails/activesupport/lib/active_support/dependencies.rb:496:in `require' vendor/rails/activesupport/lib/active_support/dependencies.rb:342:in `new_constants_in' vendor/rails/activesupport/lib/active_support/dependencies.rb:496:in `require' vendor/rails/railties/lib/commands/server.rb:39 script/server:3:in `require' script/server:3