0

レールの動的ファインダーメソッドと同様に、関連するモデルに動的ファインダーメソッドを使用する方法はありますか?

次のモデルを検討してください

class User
   attr_accessible :name, :phone_no
   has_many :notes
end

class Note
   belongs_to :user
   attr_acccessible :note
end

Userオブジェクトからメモ属性の動的ファインダーを呼び出すにはどうすればよいですか?

4

1 に答える 1

1

スコープはクラスメソッドであるため、User.scope_name(スコープの詳細はこちら:http://guides.rubyonrails.org/active_record_querying.html#scopes 。そのユーザーオブジェクトに属する特定のメモを検索する場合は、インスタンスメソッドを定義できます-次のようになります。

def note_with_content(content_string)
   self.notes.where(:content => "#{content_string}")
end

また

def last_note
   self.notes.last
end

そして、それを次のように使用します。

@user.note_with_content("This is a note")

@user.last_note
于 2012-08-10T14:23:45.080 に答える