render: new с параметром URL - PullRequest
       0

render: new с параметром URL

0 голосов
/ 29 апреля 2018

Я новичок в ruby ​​on rails и пытаюсь исправить приложение, унаследованное от предыдущего сотрудника.

Обычно пользователь нажимает на ссылку из электронного письма, которое выглядит следующим образом. https://www.example.com/events/event_name/event_registrants/new?partner=microsoft

Они оставляют часть формы пустой и нажимают кнопку отправки. Сбой модели event_registration из-за пустых полей, и затем они перенаправляются обратно на https://www.example.com/events/event_name/event_registrants/new

Потеря параметра? Partner = microsoft url в процессе.

Я нашел область контроллера, которая перенаправляет их обратно на сайт с ошибками проверки. Текущий код делает это:

render :new

Я добавил оператор if / else, и он отображает правильную страницу, если нет партнера ... но я получаю ошибку, когда есть партнер.

if @event_registration.partner.nil?
   render :new
else
   redirect_to :action => "new", :partner => @event_registration.partner.try(:token)
end

Это работает, но я пытаюсь передать модель @event_registration в перенаправление, чтобы можно было отобразить сообщение об ошибке проверки модели.

Может кто-нибудь помочь?

Спасибо jlimited.

1 Ответ

0 голосов
/ 29 апреля 2018

Схватите параметры перед перенаправлением и передайте их с перенаправлением.

В этом случае:

params = [:partner => 'microsoft']

redirect_to new_event_registration_path(params)

Аналогичный вопрос: Передача параметров в рельсы redirect_to

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...