就像rails中的动态查找器方法一样,有没有办法为关联模型提供动态查找器方法?
考虑以下模型
class User
attr_accessible :name, :phone_no
has_many :notes
end
class Note
belongs_to :user
attr_acccessible :note
end
如何从User对象调用note属性的动态查找器?
答案 0 :(得分: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