まりぴよこのブログ

日々の日記。技術ネタでまとまりきってないものの記録、伝わる文章の書き方を練習とか。

Railsでネストしたモデルの link_to method: :delete と form_for する方法

ネストしたモデル

  • blog has_meny entries
  • entry belongs_to blog

の状態で、entryを削除したい。

link_to :delete

(hamlです)

before

= link_to 'Destroy', entry, method: :delete, data: { confirm: 'Are you sure?' }

after

= link_to 'Destroy', [ @blog, entry ], method: :delete, data: { confirm: 'Are you sure?' }

参考

stackoverflow.com

form_for

before

= form_for(@entry) do |f|

after

= form_for [@blog, @entry] do |f|

参考

stackoverflow.com

どっちも配列で渡せばいい。