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はあなたのために作成されたモデルです。このモデルは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
于 2013-01-08T20:56:59.580 に答える