railsのresourcesメソッドを使う上で必要になった知識等を記録。
構文
config/routes.rb
Rails.application.routes.draw do
namespace :api do
resources :events, only: %i[index create]
end
end
ルーティングをget user/index => user#index
みたいな感じじゃなくて、勝手にやってくれる。そのままだと全てのアクションにルーティングされるためonly
を使って使うアクションを限定する。
:idを別の名前に変更する
resourcesでshowなどをルーティングすると末尾が必ず:id
というURLでリクエストを送ることになる。このこれを変えたいときは
config/routes.rb
Rails.application.routes.draw do
namespace :api do
resources :events, only: %i[show], param: :hashed_id
end
end
と設定するとapi/events/:hashed_id
って感じでルーティングしてくれる。
RESTful
HTTPリクエストを経由してフロントとバックエンドをしっかりと分けるときの設計思想。railsの開発は基本的にこの設計思想に基づいて行われているらしい。
この設計思想をルーティングに反映するためにちまちまget api/index => api#index
みたいに書くんじゃなくてresourcesを使うことで簡単に反映させることができる。
実際のルーティンを確認するコマンド
terminal
rails routes
これで実際にrailsで行われているルーティングが確認できる
参考