сохранить ввод по нажатию кнопки с направляющих footer.html.rb - PullRequest
0 голосов
/ 27 июня 2019

У меня есть файл _footer.html.rb в общей папке. У меня есть поле ввода электронной почты и кнопка. Я хочу, чтобы пользователь нажал, чтобы сохранить электронную почту в базе данных.

это _footer.html.rb

   <div class="col-md-6 mt-md-0 mt-3">
    <h5 class="text-uppercase">Subscribe Today</h5>
    <p>Get our newsletter and stay current on rental deals and specials..</p>
    <div >
      <div style="text-align: -webkit-center; padding-bottom: .9rem;">
        <input id="email" placeholder="Your Email" type="text" class="form-control" style="width: 28rem;"></input>
      </div>
      <div class="input-group-btn">
        <button class="btn btn-primary" label="Subscribe" type="button"><span class="btn__label">Subscribe</span></button>
      </div>
    </div>
  </div>

enter image description here

это подписка на модели. Rb

class Subscription < ApplicationRecord
end

есть способ сохранить электронную почту с помощью создания controller.rb для _footer. потому что я мог бы иметь их где-нибудь еще, как в _navbar и _footer?

1 Ответ

2 голосов
/ 27 июня 2019

Вы можете определить действие контроллера для продолжения ввода пользователя.

Предположим, у вас есть это в маршрутах

post 'subscriptions', to: 'subscriptions#create', as: :subscriptions
def create
   Subscription.create(email: params[:email]
   render :js => "alert('Thank you for subscribing');"
   # or
   # create `app/views/create.js.erb` file and comment above `render` statement 
end

Затем оберните входы в form с параметром remote: true, чтобы сделать Ajax-вызов

<%= form_tag(subscriptions_path, remote: true) do %>
    <%= text_field_tag :email  %>
    <%= button_tag 'Subscribe', type: 'submit' %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...