如果我有Invitation
模型和User
模型,Invitation
模型的requester_id
列为class Invitation < ActiveRecord::Base
belongs_to :requester, :class_name => "User"
end
,为什么会这样做,
class Invitation < ActiveRecord::Base
belongs_to :requester, :class_name => :user
end
这不起作用?
{{1}}
通常,我何时使用符号,何时在Rails 3中使用字符串?
答案 0 :(得分:2)
您肯定需要:User
,而不是:user.
核心Ruby Symbol
定义了#to_s
,String
定义了#to_sym,
,因此在任何Ruby上下文中,您可能经常将其替换为另一个。
我可能会说:当有疑问时,follow the Rails3 API documentation.除了它没有说,尽管这个例子使用了一个字符串。但在这种情况下,它可以正常使用符号。
答案 1 :(得分:0)
请记住,它区分大小写。因此:User
可以工作。在任何情况下,我都会使用一个字符串,就像它在文档中所说的那样:)