Techioz Blog

Ruby on Rails n00b の説明へのリンク?

概要

解決策

Post オブジェクトと Comment の両方を link_to ヘルパーに指定する必要がある理由は、Comment が Post のネストされたリソースであり、URL を構築するには両方の ID がわかっている必要があるためです。これは実際には次と同等です。

link_to ‘コメントを破棄’, post_comment_path(comment.post, comment), …

これは、url_for を使用してパス ヘルパーを解決します。 http://guides.rubyonrails.org/routing.html#creating-paths-and-urls-from-objects を参照してください。

destroy はアクションの名前であるため、link_to で destroy について言及する必要はありません。ルート ファイルには、どのコントローラーとアクションがどのルートに関連付けられているかが示されています。

すべての CRUD アクションのルートを定義する簡単な方法であるリソースフル ルーティングを使用していると思います。 HTTP 動詞とコントローラー アクションの間のマッピングについては、http://guides.rubyonrails.org/routing.html#crud-verbs-and-actions を参照してください。 delete が destroy にマップされており、link_to でメソッド: :delete を使用していることがわかります。