Новое для рельсов (программирование в целом), и я немного запутался в маршрутизации.Как предотвратить перенаправление после отправки данных через форму
У меня есть форма, на мой взгляд, которая берет чью-то электронную почту, а затем отправляет ее по электронной почте, как только они попадают в submit. Он работает, но после того, как я нажал submit, я перенаправляюсь в представление метода, который я вызываю, чтобы отправить форму. Я не хочу, чтобы меня перенаправляли, я хочу остаться на одной странице. Я попытался использовать POST и PUT, но оба перенаправляют меня. Я неправильно использую свой контроллер?
Мой контроллер имеет этот метод:
def mail
recipient_email = params[:email]
itinerary_body = params[:body]
x = ItineraryMailer.itinerary("#{recipient_email}", "#{itinerary_body}")
x.deliver
end
А вот форма с моей точки зрения:
<%= form_tag({controller: "bookings", action: "mail"}, method: "post") do %>
<%= text_field_tag(:email) %>
<%= text_field_tag(:body) %>
<%= submit_tag("Email Me!") %>
Мой маршрут:
match '/bookings', to: 'bookings#mail', via: 'post'
Спасибо!
Вы должны иметь возможность вызвать «render» action'' в конце действия вашей почты, чтобы отобразить любой вид, который вам нравится. Дополнительную информацию см. В разделе 2.2.2 в этом [Руководстве по Rails] (http://guides.rubyonrails.org/layouts_and_rendering.html#rendering-by-default-convention-over-configuration-in-action). –