在Rails中,我可以更改belongs_to:符号吗?

时间:2013-01-08 20:29:57

标签: ruby-on-rails-3.2

示例:

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

  • 如果是这样,我可以简单地将其更改为其他内容吗?喜欢:notes 所以我可以用 User.notes ????

2 个答案:

答案 0 :(得分:3)

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

has_many :notes, :class_name => :Book

答案 1 :(得分:1)

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

  

rails g model注意名称:string,description:string parameter:type

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

user.rb

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

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

book.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