#ruby-on-rails
Вопрос:
У меня есть представление с некоторыми необходимыми параметрами. Если эти параметры не указаны, я хотел бы, чтобы контроллер добавил параметры (со значением пустой строки), чтобы пользователи могли добавлять эти значения в URL (вместо того, чтобы гадать, каковы ключи параметров).
Пример: Я хочу посетить: localhost:3000/page/index
Мне требуются параметры «a», «b», «c», которые должны быть заполнены для отображения этой страницы
При загрузке этого представления контроллер добавит URL-адрес к следующему: localhost:3000/page/index?a=amp;b=amp;c=
если эти параметры не указаны.
По сути, я просто хотел бы добавить параметры в URL-адрес через контроллер.
Ответ №1:
Вероятно, вы можете просто перенаправить на ту же страницу с любыми параметрами запроса, которые вы хотите.
# in index action:
hash = {a: '', b: '', c: ''}
return redirect_to "/page/index?#{hash.to_query}"
Просто оберните это в какой-нибудь оператор if, чтобы убедиться, что эти ключи уже не находятся в параметрах, иначе вы окажетесь в бесконечном цикле перенаправления.