У меня 2 модели: заметки и метки.
class Note < ActiveRecord::Base
has_and_belongs_to_many :tags
end
class Tag < ActiveRecord::Base
has_and_belongs_to_many :notes
end
Тег имеет имя (например, «rss», «javascript» и т. Д.). Каков наилучший способ получить все заметки, которые имеют определенный список тегов? То есть я хотел бы иметь именованный маршрут типа /notes/with_tags/rss,javascript
и мне нужен метод класса в Note, называемый find_with_tags()
.
Итак, как мне это сделать:
class Note
def self.find_with_tags(tags)
?????
end
end
Я сейчас использую Tag.find_all_by_name(['xml','rss']).map(&:notes).flatten.uniq
, но думаю, что должен быть лучший способ