我有一个简单的rails应用程序,我试图在数据库中添加一个非常简单的记录类型(“client_types”)。
我在routes.rb
的路线中写着:
resources :client_types
据我所知,它应该是我client_types
资源的所有常规路线的代理。
因此,当我浏览到以下URL http://localhost:3000/client_types/new
时,我在运行时收到以下路由错误:
No route matches {:action=>"show", :controller=>"client_types"}
请注意,此处有问题的操作是show,而不是new(我的控制器中有这两种方法)。
所以...我在上面的资源路线下面添加了以下路线,而中提琴,它的工作原理:
match 'client_types/new' => 'client_types#new', :as => :client_type
那我错过了什么?我的假设是我的路由文件中的resources :client_types
会添加一条与我后来明确添加的路由匹配的路由。
rake routes
显示以下内容:
client_types GET /client_types(.:format) {:action=>"index", :controller=>"client_types"}
POST /client_types(.:format) {:action=>"create", :controller=>"client_types"}
new_client_type GET /client_types/new(.:format) {:action=>"new", :controller=>"client_types"}
edit_client_type GET /client_types/:id/edit(.:format) {:action=>"edit", :controller=>"client_types"}
client_type GET /client_types/:id(.:format) {:action=>"show", :controller=>"client_types"}
PUT /client_types/:id(.:format) {:action=>"update", :controller=>"client_types"}
DELETE /client_types/:id(.:format) {:action=>"destroy", :controller=>"client_types"}
client_type /client_types/new(.:format) {:controller=>"client_types", :action=>"new"}
答案 0 :(得分:0)
现在正在运作。我的一个观点中有一个问题,这个错误信息是一个红色的鲱鱼。