有什么不同?的优点和缺点?这对我来说有点困惑。
谢谢。
当关系为1-1时,您将belongs_to放在具有外键的表中,并将has_one放在引用的表中。
当关系为1-n时,您将belongs_to放在具有外键的表中,并将has_many放在引用的表中
属于带有外键的表。对于以下内容:
class User < ActiveRecord::Base
has_one :profile
end
class Profile < ActiveRecord::Base
belongs_to :user
end
profile 表需要有一个 user_id 字段来引用 users 表中的记录。
知道哪个是属于_to,哪个是has_one是许多人都在努力解决的问题。一般来说,如果has_one 可能变成has_many,那么这就是需要has_one 的一面。
你将需要两者。你一个在一个班级,另一个在你想联系的班级。
例如
Class User
has_one :profile
end
Class Profile
belongs_to :user
end
正确设置关系后,优点是您可以使用user.profile
or访问它们profile.user
。