【发布时间】:2016-02-13 01:44:01
【问题描述】:
在一个模型上仅使用 belongs_to 与在一个模型上使用 has_many 而在另一个模型上使用 belongs_to 有什么区别?
举个例子:
class Author < ActiveRecord::Base
end
class Book < ActiveRecord::Base
belongs_to :author
end
对
class Author < ActiveRecord::Base
has_many :books
end
class Book < ActiveRecord::Base
belongs_to :author
end
谢谢。
【问题讨论】:
-
没有区别。关联仅从加载模型的角度来看很重要。如果你有
class Book belongs_to :author,你就可以打电话给@book.author;而您将不能够致电@author.books。 -
您应该了解ORM 的工作方式(其中
ActiveRecord非常重要)。当你在你的模型中声明一个“关联”时,这只是给ActiveRecord一个参考。它对基本级别的 SQL 没有任何作用
标签: sql ruby-on-rails has-many belongs-to