У меня есть страница, где отображаются сообщения I пользователя:Можно игнорировать метод .where?
user.posts
Я хочу, чтобы добавить функциональность, чтобы показывать только сообщения пользователя определенной категории:
user.posts.where(category_id: category_id_variable)
Чтобы избежать дублирование кода. Интересно, можно ли оставить строку кода выше для и сценариев, то есть каким-то образом игнорировать метод .where
, если я хочу отобразить всех нас er?
Если вы хотите сделать только «user.posts» один раз, вы можете сделать «user_posts = user.posts» для всех случаев, тогда в условиях ограничения выполните «user_posts = user_posts.where» (category_id: category_id_variable) '. Вы действительно не можете просто игнорировать «где». С ленивой загрузкой Rails 'user.posts' не является дорогостоящим заявлением. – lurker
Где копировать код? – PericlesTheo
@PNY Теперь я знаю, что вопрос плохо написан. Это (очень) упрощенный запрос того, что у меня есть, и поэтому я (визуально) был бы рад сохранить 3 строки, если мне не нужно дважды писать запрос. – Numbers