Railsのbutton_toにスタイルをつける

2025-06-21 rails

毎回ハマるのでメモを。。button_toメソッドでpostやdeleteを指定すると(普通のリンクでは実現できないので)formタグで囲ってくれるのですが、この時、classやstyleなどの属性は、formの中のbuttonに対するもので、formに何かを追加したい場合は、以下のように書く必要があります。

<%= button_to "ログアウト", session_path, method: :delete, class: "btn ..", form: {style: "display: inline"} %>

ちなみに、turboを有効にしている場合は、link_toのまま以下のように書くことができます。

<%= link_to "ログアウト", session_path, data: {turbo_method: :delete}, class: "btn .." %>