[英]When should I create named routes in Rails?
我对Rails 3资源路由感到困惑。 我的routes.rb
有以下行
resources :dungeons, only: [ :index, :destroy, :create, :update, :show ]
当我检查使用rake routes
创建的命名rake routes
,我得到:
dungeons GET /dungeons(.:format) dungeons#index
POST /dungeons(.:format) dungeons#create
dungeon GET /dungeons/:id(.:format) dungeons#show
PUT /dungeons/:id(.:format) dungeons#update
DELETE /dungeons/:id(.:format) dungeons#destroy
为什么只有带有http get方法的路由的命名路由? 如果我想创建一个指向destroy动作的链接,我必须使用{ :action => 'destroy', :method => :delete, :id => dungeon.id }
而不仅仅是destroy_dungeon_path( dungeon )
。 我的routes.rb
有什么问题吗?
您的路线文件没有错。 这是破坏路线: dungeon_path(id)
您必须发送DELETE请求才能触发它。 show,update和destroy得到了相同的named_route,唯一不同的是Request的类型(show的GET,更新的PUT或者destroy的DELETE)
在这里你需要知道在Rails3中路由的所有内容: http : //guides.rubyonrails.org/routing.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.