我的路线档案有:
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
答案 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| %>