我想创建一个存在于每个页面上的表单。它是一个简单的表单,用户可以注册他们的电子邮件地址。所以我的问题是,不是在每个控制器中放入'@mailer = MailingList.new'的实例,我是否会使用我的应用程序控制器以覆盖整个站点?这就是我试图做的事情
应用程序控制器
def mail_list
@mailer = MailingList.new
end
header.html.erb
<% form_for @mailer do |f| %>
<%= f.text_field :email %>
<% end %>
我遇到错误
undefined method `mail_list_path' for #<#<Class:0x00000103433240>:0x0000010166fc68>
我想我理解为什么。我也意识到我的控制器中没有“保存”方法,因此即使要加载页面也无法提交,但我至少会预期表单会出现。实现这一目标的最常规方法是什么?我哪里错了?
作为额外的: 最好是在表单提交时页面不刷新,数据通过Ajax提交给数据库。任何人都可以指向我一个很好的教程,或指导解释这是如何工作以及如何实现它。
我是铁道新手,对可能不好的解释表示歉意并感谢你的时间。