43894


blogにコメントをつけるアプリを作成中のRails初心者です。  
パラメータのことで教えてください。

views

[code]

    <%= link_to '削除', blog_comment_path(blog, comment), method: :delete %>
    
[/code]

ここでbinding.pryでcommentの中身を見ると、

[code]

     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
    
[/code]

と、それぞれの値がきちんと確認できるのですが、  
comment_controllerに渡されるパラメータを見ると

[code]

    {"controller"=>"comments", "action"=>"destroy", "blog_id"=>"1", "id"=>"2"}
    
[/code]

というもので、idしか渡されていません。

なぜこうなるのかがわかりません。  
ルーティングは以下の通りです。  
[![画像の説明をここに入力](https://i.stack.imgur.com/MHvHF.png)](https://i.stack.imgur.com/MHvHF.png)

基本的なことで恐縮ですが、ご教示宜しくお願い致します。

環境：  
ruby:2.3.1  
rails:5.1.6


CC BY-SA 4.0
2018-05-07T08:46:43.413
43835
2018-05-09T12:14:00.880
2020-06-17T08:14:45.997
-1
26111
question
ruby-on-rails
Railsのパラメータについて教えてください


`blog_comment_path` は path を返してくれるだけです。  
そして、path はスクリーンショットにあるように、`/blogs/:blog_id/comments/:id(.:format)` です。

id があれば削除はできますし、もしその他の情報が必要な場合でも DB から取得すれば良いです。

[code]

    comment = Comment.find(params[:id])    # DB から取得
    Rails.logger.debug(comment.content)    # 使用
    comment.destroy                        # 削除
    
[/code]


CC BY-SA 4.0
2018-05-09T12:14:00.880
43894
2018-05-09T12:14:00.880
5288
43835
answer