Я работаю над внедрением системы тегов, и у меня возникают проблемы с запросом на тегированные объекты с помощью области.Определение метода класса current_user
Например, я хотел бы найти все элементы пользователя с определенным тегом. В классном методе я могу найти все объекты:
def self.tagged_with(name)
Tag.find_by_name(name).items
end
Однако у этого есть проблемы. Если бы я должен был сделать что-то вроде: current_user.items.tagged_with(name)
не будет ли этот существующий метод возвращать ВСЕ элементы, а не только элементы, принадлежащие current_user? Я предполагаю, что это просто проблема с запросом, но я не могу понять, как изменить метод класса на то, что называется коллекцией. Я попытался сделать обратный путь, чтобы получить коллекцию через теги, что-то вроде ... tag.items.where(:user_id => current_user.id)
, но в этом случае это отношения «многие-ко-многим», и я не смог получить большой палец на этом ,
Каков правильный способ ограничения запроса?
Можете ли вы показать ваши отношения? Правильно ли я предполагаю, что вы используете 'act_as_taggable'? – mathieugagne