1

Rails3のリソースルートで混乱しています。私は私の中に次の行がありますroutes.rb

resources :dungeons, only: [ :index, :destroy, :create, :update, :show ]

で作成された名前付きルートを調べると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メソッドを使用したルートに名前付きルートしかないのはなぜですか?{ :action => 'destroy', :method => :delete, :id => dungeon.id }破棄アクションへのリンクを作成する場合は、単にの代わりにのようなものを使用する必要がありますdestroy_dungeon_path( dungeon )。私に何か問題がありますroutes.rbか?

4

1 に答える 1

4

ルートファイルに問題はありません。これは破壊ルートです:dungeon_path(id)

トリガーするには、DELETEリクエストを送信する必要があります。show、update、destroyは同じnamed_routeを取得しました。異なるのは、リクエストのタイプ(showの場合はGET、updateの場合はPUT、destroyの場合はDELETE)だけです。

Rails3でのルーティングについて知っておくべきことはすべてここにあります:http://guides.rubyonrails.org/routing.html

于 2012-12-17T14:45:13.660 に答える