1
在一个模型上只使用belongs_to
与在另一个模型上使用has_many
而在另一个模型上使用has_many
有什么区别,另一个是belongs_to
?ruby on rails - 使用JUST'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](https://en.wikipedia.org/wiki/Object-relational_mapping)是如何工作的(其中'ActiveRecord'就是其中之一)。当你在你的模型中声明一个“关联”时,这只是给了“ActiveRecord”一个参考。它对基本级别的SQL没有任何作用 –