我不确定我在做什么错。我有一个项目资源:由控制器处理的Rails POST#home
resources :projects
在ProjectsController#新的,我创建一个项目,并在new.html.erb使其:
<%= form_for @project do |f| %>
<%= f.label :name %>
<%= f.text_field :name%><br/>
<%= f.submit %>
<% end %>
这被发送,但而不是由被处理项目#创建它正在由家庭行动处理:
Started POST "/projects" for 127.0.0.1 at 2012-11-02 08:47:36 -0500
Processing by ProjectsController#home as HTML
这里是我的路线:
/ projects#home
projects /projects(.:format) projects#home
GET /projects(.:format) projects#index
POST /projects(.:format) projects#create
new_project GET /projects/new(.:format) projects#new
edit_project GET /projects/:id/edit(.:format) projects#edit
project GET /projects/:id(.:format) projects#show
PUT /projects/:id(.:format) projects#update
DELETE /projects/:id(.:format) projects#destroy
编辑: 我发现了这个问题。
这是老路线文件:
SolarMesh::Application.routes.draw do
match '/' => 'projects#home'
match '/projects' => 'projects#home'
resources :projects
end
线“匹配‘/项目’”是它总是被处理家里的原因。
你可以请你展示你的路线文件 –
也许你应该从你的项目控制器发布新的和创建方法代码 – MikeC
也检查你的索引行动的网址... –