Railsで独自のアクションをルーティングに加える
railsにはリソースベースのルーティングで、 index, new, create, show, edit, update, destroyが用意されている。
resources :posts
独自のアクションをルーティングに追加する方法
# これだとposts/:id(hogehoge)とみなされる get 'posts/hogehoge' => 'posts#hogehoge'
ただしこれだとpostsのidが'hogehoge'をshowする、とみなされてしまう。
リソースベースのルーティングに独自のアクションを追加する場合はcollectionまたはmemberを使用する。
resources :posts do # collectionを使用するとposts/hogeとなる collection do post :hoge end # memberを使用するとposts/:id/hogehogeとなる member do post :hogehoge end end