コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

RailsでIDを指定したリソースに対して、更に持つリソースを持つ情報を別コントローラーに割り当てるときのroutes.rbの書き方

あれ、どうやるんだっけ?というときのメモ

環境

$ bin/rails --version
Rails 5.2.2.1

例えばユーザID100が所持する本が欲しい場合、以下のURLが思いつく

https://example.com/users/100/books

みたいな場合

resources :users do
  get ":id/books" => "user/books#show",
end

のような書き方もできるが

resources :users do
  resources :books, only: [:index], module: 'users'
end

と書いたほうがスマートに表現できる実現できる。

参考リンク