Ruby on Rails ネストしたpath に便利!角括弧[ ]で指定してみよう

Ruby on Railsでpathを指定する際、

よく使われるのは XXXX_path という書き方だと思います。

例えば、userディレクトリの下にcategoriesテーブルとitemsテーブルがあって

userのcategory id = 5に紐づくitemがあるとします。

(1 : N の関係ですね)

 

URLは以下の通りになります。

user/categories/5/items

このような場合、XXXX_path形式で書くと

user_category_items_path

このような感じになると思います。

ここでネックになるのがcategoriesの5(id)ですね。
このような場合角括弧[ ] を使って書くと便利です。

[:user, (model の categoryオブジェクト), :items]

このように書くとcategoryのmodelのオブジェクトからIDを取得してくれます。

 

URLのネストで苦戦した際、ぜひとも使ってみてください(*^^*)

 

何か参考になれば幸いです(*^^*)