我们是否需要在rails3应用程序的模型类中使用class_name和foreign_key声明。
class User < ActiveRecord:Base
has_many :user_foos, :class_name => 'UserFoo', :foreign_key => :user_foo_id
end
答案 0 :(得分:1)
不是,如果表名是user_foos
且类名是UserFoo
,则不是。你可以这样做:
has_many :user_foos
使用:class_name
修饰符,其中类名实际上不是正在使用的关联名称的单数,或者命名空间导致类名错误地解析。并且:foreign_key
用于外键列名称使用专门格式的情况(这通常在引用同一个表中的行时发生,或者多个列指向同一父表的不同记录时发生)。