我想创建一个出现在每个页面上的表单。这是一个简单的表格,以便用户可以注册他们的电子邮件地址。所以我的问题是,与其在每个控制器中放置一个“@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 提交到数据库。谁能给我指出一个好的教程,或者指导解释它是如何工作的以及我如何实现它。
我是 Rails 新手,因此对可能糟糕的解释表示歉意,并感谢您抽出宝贵的时间。