use*_*109 10 ruby-on-rails associations has-many has-one
RailsGuides说:
http://guides.rubyonrails.org/association_basics.html 一个has_many"关联表示模型的每个实例都有零个或多个另一个模型的实例."
"has_one关联还与另一个模型建立一对一的连接,但语义(和后果)有些不同.这种关联表明模型的每个实例都包含或拥有另一个模型的一个实例."
这是否意味着如果我想建立一个关联,模型的每个实例都有零或另一个模型的一个实例,最好的方法是使用has_many而不是has_one?如果我使用has_one会遇到什么问题?
谢谢.
dax*_*dax 16
has_one
是正确的 - 除非您为其添加自己的验证,否则设置的关系不是强制性的.
为了让它更清晰一点 -
class Post < ActiveRecord::Base
has_one :author
end
class Author < ActiveRecord::Base
belongs_to :post
end
Run Code Online (Sandbox Code Playgroud)
如果没有验证,给定post
的作者可以有一个作者(但不能超过一个) - 但是作者不是必需的.
归档时间: |
|
查看次数: |
3429 次 |
最近记录: |