没有路线匹配{:action =>“create”,:controller =>“Account”}

时间:2014-05-06 19:24:48

标签: ruby-on-rails

我的路线档案有:

  post 'account/create'

我的观看页面位于Home#index中,如下所示:

<%= form_for @account, url: { :controller => "Account", :action => "create" }, html: { class: "" } do |f| %>
    <%= f.email_field :email %>
    <%= f.password_field :password %>
    <%= f.button "Go" %>
<% end %>

我的控制器有:

class AccountController < ApplicationController

  def create

  end
end

所以我的home #index页面有一个表格应该发布到帐户#create,但是当我尝试渲染页面时,我看到一个错误:

No route matches {:action=>"create", :controller=>"Account"}

我很困惑为什么它找不到路线,rake路线显示路线就好了:

account_create POST   /account/create(.:format)           account#create

另外,我可以使用ruby 1.9语法,如:

controller: "Account", action: "create"

我是将AccountController还是仅帐户?

谢谢!

我使用的是最新版本的rails 4.1.0

1 个答案:

答案 0 :(得分:2)

使用account代替Account作为:controller选项的值:

<%= form_for @account, url: { :controller => "account", :action => "create" }, html: { class: "" } do |f| %>

或者,您可以通过使用命名路由account_create来创建帐户来缩短它:

<%= form_for @account, url: account_create_path , html: { class: "" } do |f| %>