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沒有任何作用 –