Fla*_*tef 5 activerecord ruby-on-rails
我有2个型号:笔记和标签.
class Note < ActiveRecord::Base
has_and_belongs_to_many :tags
end
class Tag < ActiveRecord::Base
has_and_belongs_to_many :notes
end
Run Code Online (Sandbox Code Playgroud)
标签有一个名称(例如"rss","javascript"等).检索具有特定标记列表的所有注释的最佳方法是什么?也就是说,我希望有一个命名路由,/notes/with_tags/rss,javascript并且需要在Note上调用类方法find_with_tags().
那么,我该怎么做:
class Note
def self.find_with_tags(tags)
?????
end
end
Run Code Online (Sandbox Code Playgroud)
我目前正在使用Tag.find_all_by_name(['xml','rss']).map(&:notes).flatten.uniq,但我认为必须有更好的方法
最后,这就是我一直在寻找的:
Note.find(:all, :include=>:tags, :conditions => ['tags.name in (?)',['rss','xml']])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1522 次 |
| 最近记录: |