开发者

Rails uses wrong class in belongs_to

I have an application managing software tests and a class called TestResult:

class TestResult < ActiveRecord::Base
  belongs_to :test_case,   :class_name => "TestCase"
end

I'm right now migrating from Rails 1.x to 2.3.5.

In Rails 1.x everything works fine.

When trying to access the association in Rails 2.3.5, I get the following error:

NoMethodError: undefined method 'find' for ActiveRecord::TestCase:Class from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations/belongs_to_association.rb:49:in 'send'

from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations/belongs_to_association.rb:49:in 'find_target'

from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_开发者_Go百科record/associations/association_proxy.rb:239:in 'load_target'

from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations/association_proxy.rb:112:in 'reload'

from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations.rb:1250:in 'test_case'

My Question is: how can I tell Rails to use my TestCase-class instead of ActiveRecord::TestCase.

TestCase class:

class TestCase < ActiveRecord::Base

  set_table_name "test_case"

  has_many   :test_results
  belongs_to :component,         :foreign_key => "subsystem_id"
  belongs_to :domain,            :foreign_key => "area_id"
  belongs_to :use_case,          :foreign_key => "use_case_id"
end


what about

class TestResult < ActiveRecord::Base
  belongs_to :test_case, :class_name => "::TestCase"
end


what about

class TestResult < ActiveRecord::Base
  belongs_to :test_case
end
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜