2015-04-07 74 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

相關問題