2015-04-07 80 views
0

我做在轨一个简单的电子邮件注册表格,但我被困在这个错误。::的ActionView ::模板错误(未定义的方法`emails_path”为

我产生控制器电子邮件和电子邮件型只在电子邮件型号电子邮件字段。

这里是我的控制器方法新

class EmailsController < ApplicationController 
def new 
    @email = Email.new 
    end 
end 
下面

是我的看法,这是非常简单的

<h2>Register Email</h2> 

<% form_for(@email) do |f| %> 
<div class="field"> 
<%= f.label :email %><br /> 
<%= f.text_field :email %> 
</div> 
<div class="actions"> 
<%= f.submit "Sign up" %> 
</div> 
<% end %> 

现在我已经使用耙路由

直到我在控制器和html页面添加

在routes.rb中 我为根定义的路径,因为这

root 'emails#new' 
代码工作正常定义的路由

我耙路线是这样的

 emails_new GET /emails/new(.:format)    emails#new 
     home_index GET /home/index(.:format)    home#index 
     root GET /        emails#new 

现在我得到这个错误

ActionView::Template::Error (undefined method `emails_path' for #<#<Class:0x007f25edc36a58>:0x007f25edc4ffa8>): 
    App 4103 stderr:  1: <h2>Register Email</h2> 
    App 4103 stderr:  2: 
App 4103 stderr:  3: <% form_for(@email) do |f| %> 
App 4103 stderr:  4: <div class="field"> 
App 4103 stderr:  5:  <%= f.label :email %><br /> 
App 4103 stderr:  6:  <%= f.text_field :email %> 
App 4103 stderr: app/views/emails/new.html.erb:3:in `_app_views_emails_new_html_erb___4438819380742713977_69900439838140' 

任何帮助的感谢

+0

你可以尝试 '的form_for @email,:URL => emails_new_path做| F |' – Abhi

+0

现在的错误了,但的Fileds是不可见的,除了标题注册电子邮件 – user3290805

+0

您可以发布**电子邮件领域**表 – Abhi

回答

0

您不必为实际创建email记录路由。您可以使用resources

resources :emails, only: [:new, :create] # <-- list of actions you need 

而且,当然,你应该在前面加上你的电话form_for<%=来把这个呼叫你的HTML的结果。

2

对不起,我不能评论。您的form_for中缺少=

它必须是<%= form_for ...%>

希望这有助于。

+0

谢谢,但我已经知道了...... – user3290805

相关问题