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:insend’
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:incompile_and_render_template’
vendor/rails/actionpack/lib/action_view/base.rb:365:in
render_template' vendor/rails/actionpack/lib/action_view/base.rb:316:inrender_file’
vendor/rails/actionpack/lib/action_controller/base.rb:1100:in
render_for_file' vendor/rails/actionpack/lib/action_controller/base.rb:836:inrender_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:inrender’
/usr/lib/ruby/1.8/benchmark.rb:293:in measure' vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:inrender’
vendor/rails/actionpack/lib/action_controller/base.rb:1153:in
default_render' vendor/rails/actionpack/lib/action_controller/base.rb:1159:inperform_action_without_filters’
vendor/rails/actionpack/lib/action_controller/filters.rb:697:in
call_filters' vendor/rails/actionpack/lib/action_controller/filters.rb:689:inperform_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:inmeasure’
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in
perform_action_without_rescue' vendor/rails/actionpack/lib/action_controller/rescue.rb:199:inperform_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:incache’
vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in
cache' vendor/rails/actionpack/lib/action_controller/caching.rb:677:inperform_action’
vendor/rails/actionpack/lib/action_controller/base.rb:524:in send' vendor/rails/actionpack/lib/action_controller/base.rb:524:inprocess_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:inprocess’
vendor/rails/actionpack/lib/action_controller/base.rb:388:in process' vendor/rails/actionpack/lib/action_controller/dispatcher.rb:171:inhandle_request’
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:115:in
dispatch' vendor/rails/actionpack/lib/action_controller/dispatcher.rb:126:indispatch_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:inprocess’
/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:inprocess’
/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:ineach’
/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:inrun’
/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:innew’
/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:ininitialize’
/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:inrun’
/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:ineach’
/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:inrun’
/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:inload’
vendor/rails/activesupport/lib/active_support/dependencies.rb:489:in
load' vendor/rails/activesupport/lib/active_support/dependencies.rb:342:innew_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:ingem_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:inrequire’
vendor/rails/activesupport/lib/active_support/dependencies.rb:342:in
new_constants_in' vendor/rails/activesupport/lib/active_support/dependencies.rb:496:inrequire’
vendor/rails/railties/lib/commands/server.rb:39
script/server:3:in `require’
script/server:3
