【发布时间】:2013-06-06 18:29:45
【问题描述】:
我有两个型号Foo::Bar 和Bar。 Foo::Bar 属于Bar。当您尝试调用@bar.bar(本例中的@bar 是Foo::Bar 的一个实例)时,就会出现问题。
如果您使用引号定义:class_name,那么一切都会按预期工作,但如果您不使用引号,那么您将返回一个Foo::Bar 实例而不是Bar 实例。
为什么不一样?这是 Rails 中的错误吗(顺便说一下,我使用的是 Rails 4.0.0RC1)?
不起作用
class Foo::Bar < ActiveRecord::Base
belongs_to :bar,
class_name: ::Bar
end
作品
class Foo::Bar < ActiveRecord::Base
belongs_to :bar,
class_name: '::Bar'
end
【问题讨论】:
标签: ruby-on-rails ruby activerecord