Контроллер рельсов добавляет параметры при просмотре нагрузки

#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, чтобы убедиться, что эти ключи уже не находятся в параметрах, иначе вы окажетесь в бесконечном цикле перенаправления.