Rails: ネストしたリソースで、オブジェクトからパスとURLを作成する

参考:

Rails のルーティング | Rails ガイド

f:id:matt-note:20181017095031p:plain

f:id:matt-note:20181016134819p:plain

 

とにかく、以下のようなモデルで

f:id:matt-note:20181017095823p:plain

f:id:matt-note:20181017095830p:plain

 

以下のようなルーティングのとき

f:id:matt-note:20181017095304p:plain

 

以下のようなルーティングが作成される

f:id:matt-note:20181017095432p:plain

destroy アクションに値を渡す場合は、post_comment_path のように単数形のパスを使うことになる。

 

以下のように *_path に引数を渡すと、

f:id:matt-note:20181016135036p:plain

以下のように、id に基づいた個別のリンクが作成される

f:id:matt-note:20181016135056p:plain

 

f:id:matt-note:20181016135104p:plain

 

引数が1つの場合:

scaffold して以下のルーティングを設定したとき、

f:id:matt-note:20181017092950p:plain

show.html.erb で、以下のように更新用リンクが作成される。このとき、edit_purchase_path() に引数として @purchase が渡される。

f:id:matt-note:20181017093012p:plain

すると、ビューで以下のように、個別の id に基づいたリンクが作成される。

f:id:matt-note:20181017093104p:plain

 

その他の参考:

How to Delete No Refresh Comments For Rails App | Part 2 - Deletion - YouTube