例:
has_many :books
:booksは 、RAILS が作成するメソッドになりますか?
もしそうなら、それを別のものに変更することはできますか?:notesのように、 User.notesと一緒に使用できますか????
例:
has_many :books
:booksは 、RAILS が作成するメソッドになりますか?
もしそうなら、それを別のものに変更することはできますか?:notesのように、 User.notesと一緒に使用できますか????
メソッドの名前を変更したいだけで、モデルはそのままにしておく (つまり、Book という名前のモデルを持ち、notes という名前のメソッドがある) 場合は、class_name シンボルを使用できます。
has_many :notes, :class_name => :Book
はい、:booksはあなたのために作成されたモデルです。このモデルはModelBook.rbに対応しています。「:books」を「:notes」に変更する場合は、モデルノートを作成する必要があります。このコマンド(ターミナルで)を使用してモデルノートを作成できます。
rails g model注名:文字列、説明:文字列パラメーター:タイプ
モデル間の関係を変更した後、たとえば、ModelBook.rbとModelPerson.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