我有两个模型Foo::Bar
和Bar
. Foo::Bar
属于_to 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