SimpleForm отправьте форму другому контроллеру и действию - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть страница показа событий, где я отображаю форму клиента для @customer.Если это событие другого рода, тогда я отображаю форму для @registration и хочу отправить эту форму в RegistrationsController # create.

Прямо сейчас в моих маршрутах у меня есть это:

маршруты

post '/:slug' => 'events#create', as: :registration

форма

<%= simple_form_for @registration, url: custom_registration_path, html: { class: 'form, styled-form', autocomplete: 'off' } do |f| %>
...
<% end %>

Форма выше по-прежнему отправляет EventsController#create Я определяю @registration в EventsController#show и хочу отправить форму в custom_registration_path.

Как определить маршрут?Я все еще хочу отправить :slug в RegistrationsController.

1 Ответ

0 голосов
/ 23 ноября 2018

Если я правильно понял ситуацию: у вас не может быть двух маршрутов с одним и тем же методом HTTP и путем.Комбинация method + path должна быть уникальной.Вы должны либо перенаправить свою пользовательскую регистрацию на что-то вроде custom_registrations/:slug, либо изменить путь на events#create

. Конечно, вы можете использовать другой метод для разных действий.PUT например.Но я бы посчитал это плохой практикой, поскольку она очень неявная и ее будет трудно понять всем, кто работает с этим кодом.

...