LoginSignup
27
20

More than 5 years have passed since last update.

button_toでgetメソッドを指定しようとしたら手間取った

Posted at

例えば、hogeコントローラーのnewアクションを実行するボタンを作成し、bootstrapのスタイルを適用させたい場合、最初は

button_to "新規作成", controller: 'hoge', action: 'new', class: "btn btn-default"

上のコードで行けるかと思ったけど、button_toはmethodとしてpostをデフォルトで指定するらしい。かといって、

button_to "新規作成", controller: 'hoge', action: 'new', method: :get, class: "btn btn-default"

こんな感じでmethodを指定してもgetを投げてはくれない。

仕方がないのでlink_toで代用し、色々と試行錯誤した結果、下のようなコードで落ち着いた。

link_to "新規作成", {controller: 'hoge', action: 'new'}, {class: "btn btn-default", role: "button"}

と、思ったらbutton_toでも普通にできました・・・

button_to "新規作成", {controller: 'hoge', action: 'new'}, {method: :get, class: "btn btn-default"}

オプション指定を明示すればよかっただけなのね・・・次からは気を付けたいです。

27
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
20