Какой лучший способ создать предложение where с помощью Rails ActiveRecord? Например, скажем, у меня есть действие контроллера, которое возвращает список сообщений в блоге:
def index
@posts = Post.all
end
Теперь скажем, что я хочу иметь возможность передать параметр url, чтобы это действие контроллера только возвращало сообщения определенным автором:
def index
author_id = params[:author_id]
if author_id.nil?
@posts = Post.all
else
@posts = Post.where("author = ?", author_id)
end
end
Это не кажется мне очень сухим. Если бы я должен был добавить упорядочение или разбиение на страницы или, что еще хуже, более необязательные параметры строки запроса URL для фильтрации, это действие контроллера будет очень сложным.