「link_toとかform_with使いながらボタン作るってどうやるんだっけ…」
というのがプログラミング始めたばかりの頃わからず、とても冗長なコードになっていたので、今更ですが、振り返りと自戒の念を込めてメモしておきます。
#先に結論:classに記述すればOK#
link_toの場合
例えばDeleteボタンを作成するとして…
html.erb
<%= link_to "Delete", xx_path, class: "btn btn-sm btn-danger", method: :delete %>
- link_toの後ろのクオテーション内("Delete"など)は、ボタン上に表示したいテキストを記述
- xx_pathのxx部分は、ボタンをクリックしたときのリンク先(パス)
- class内にbootstrapを記述して、好きなボタンにカスタマイズ
上記の記述で、表示するとこんな感じのボタンになります👇
(もちろんパスは変えてます!)
form_withの場合は?
html.erb
<%= form_with model:book, local:true do |f| %>
~中略~
<div class='form-group'>
<%= f.submit 'Sign up', class:'btn btn-sm btn-success' %>
</div>
<% end %>
- f.submitの後ろのクオテーション内('Sign up'など)は、ボタン上に表示したいテキストを記述
- class内にbootstrapを記述して、好きなボタンにカスタマイズ
- ボタンクリック後の遷移先は該当のcontrollerで定義することになりますね