ruby-on-rails - 保存从footer.html.rb rails点击按钮的输入
问题描述
我在 Shared 文件夹中有 _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>
这是模型订阅.rb
class Subscription < ApplicationRecord
end
有没有办法通过为 _footer 创建一个 controller.rb 来保存电子邮件。因为我可能会将它们放在其他地方以及 _navbar 和 _footer 中?
解决方案
您可以定义一个控制器操作来继续用户的输入。
假设您在路线中有这个
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 %>
推荐阅读
- unit-testing - Flutter 命令导出单元测试结果
- sql-server - Java FX JAR 文件找不到 SQL Server 驱动程序
- c++ - 什么是更好的风格:for 循环中的 ++x 或 x++
- python - TypeError:字符串格式化期间并非所有参数都转换(数据上传到thinkspeak)
- r - 我想应用两个函数,一个函数在块对角线上,第二个函数在数据框中的非对角线元素上
- f# - ML.NET:MLContext 随机种子不会使其具有确定性
- laravel - 不能在 Laravel 6 中使用依赖注入
- python - Python如何在不同级别对Dataframe中的多索引列进行排序?
- node.js - React-native node.js 显示错误:多部分:使用 react-native-image-picker 上传图像时未找到边界
- integration - 将 ionic 5 与缩放集成