ruby on rails - 使用JUST'edove_to'与使用'has_many'和'belongs_to'之间的区别?

时间:2016-02-13 01:44:01

标签: sql ruby-on-rails has-many belongs-to

在一个模型上使用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

谢谢。

1 个答案:

答案 0 :(得分:1)

猜测每个方法将有助于向关联类

添加一组不同的附加方法

对于ex,如果不得不猜测,使用belongs_to,您将部分地获得在Book的实例上调用关联的能力:

@book.author

使用has_many,如果我不得不猜测,您可以部分地在Author的实例上调用关联:

@author.books

另外,http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-belongs_to

http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_many

如果可能感兴趣