我试图在我的页面索引视图中添加一个预启动注册电子邮件表单。我根据自己的观点制作了一个表格,然后创建了一个控制器,然后创建了模型和表格并运行迁移。这是做到这一点的正确方法吗?从未定义的方法premails_path为#<#<Class:0x4fa8530>:0x52c1ec8>
<%= form_for(@premail) do |f| %>
<% if @premail.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@premail.errors.count, "error") %> prohibited this link from being saved:</h2>
我的页面控制器
<%= form_for(@premail) do |f| %>
有以下:
我收到以下错误:
NoMethodError in Pages#index
undefined method `premails_path' for #<#<Class:0x4fa8530>:0x52c1ec8>
上线
class PagesController < ApplicationController
def index
@premail = Premail.new
end
end
我的网页索引视图有以下几点:
<%= form_for(@premail) do |f| %>
<% if @premail.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@premail.errors.count, "error") %> prohibited this link from being saved:</h2>
<ul>
<% @premail.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :Email %><br />
<%= f.text_field :Email %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
我生成以下模型:
class Premail < ActiveRecord::Base
end
和下面的数据库迁移表:
class CreatePremails < ActiveRecord::Migration
def change
create_table :premails do |t|
t.text :email
t.timestamps
end
end
end
我能做些什么不同做这个工作?
您可以发布您的路线吗? – Pavan
尝试运行'耙路线'并检查正确的路线 – LHH
是的,听起来像你已经忽略了在你的'config/routes.rb'文件中添加premails条目 –