質問: blogにコメントをつけるアプリを作成中のRails初心者です。 パラメータのことで教えてください。 views ``` <%= link_to '削除', blog_comment_path(blog, comment), method: :delete %> ``` ここでbinding.pryでcommentの中身を見ると、 ``` id: 2, blog_id: 1, content: "コメントです", created_at: Fri, 04 May 2018 21:08:30 UTC +00:00, updated_at: Fri, 04 May 2018 21:08:30 UTC +00:00 ``` と、それぞれの値がきちんと確認できるのですが、 comment_controllerに渡されるパラメータを見ると ``` {"controller"=>"comments", "action"=>"destroy", "blog_id"=>"1", "id"=>"2"} ``` というもので、idしか渡されていません。 なぜこうなるのかがわかりません。 ルーティングは以下の通りです。 ![画像の説明をここに入力](https://i.stack.imgur.com/MHvHF.png) 基本的なことで恐縮ですが、ご教示宜しくお願い致します。 環境: ruby:2.3.1 rails:5.1.6
回答: `blog_comment_path` は path を返してくれるだけです。 そして、path はスクリーンショットにあるように、`/blogs/:blog_id/comments/:id(.:format)` です。 id があれば削除はできますし、もしその他の情報が必要な場合でも DB から取得すれば良いです。 ``` comment = Comment.find(params[:id]) # DB から取得 Rails.logger.debug(comment.content) # 使用 comment.destroy # 削除 ```