0

例子:

has_many :books
  • :books会 成为 RAILS 为我创建的方法吗?

  • 如果是这样,我可以简单地将其更改为其他内容吗?像:notes这样我就可以将它与User.notes一起使用????

4

2 回答 2

3

如果您只是想重命名方法,但保留模型(即有一个名为 Book 的模型但方法名为 notes),您可以使用 class_name 符号:

has_many :notes, :class_name => :Book
于 2013-01-09T09:30:57.957 回答
1

是的,:books 是为您创建的模型。此模型对应于 Model Book.rb,如果要将“:books”更改为“:notes”,则必须创建模型注释。您可以使用此命令(在终端中)创建模型注释:

rails g model 注意名称:字符串,描述:字符串参数:类型

更改模型之间的关系后,例如您有 Model Book.rb 和 Model Person.rb 并且您想将 Book 更改为 Note,然后:

用户.rb

class User < ActiveRecord::Base     
  attr_accessible :id, :number

  has_many :books #delete this
  has_many :notes #add this
end

书本.rb

class Book < ActiveRecord::Base     
  attr_accessible :id, :name

  belongs_to :user #delete this
end

在 Book 模型中删除关系并在 Note 模型中添加。

note.rb

class Note < ActiveRecord::Base     
  attr_accessible :id, :name

  belongs_to :user #add this
end
于 2013-01-08T20:56:59.580 回答