##enumとは
enumはRubyではなくRailsに導入された便利な型です。
enumを使うことで文字列と値を紐付けができます。
データベースに格納される値が決まるため
定義していないものはデータベースに保存できなくなります。
##使用例
order.rb
enum address:[:"自宅", :"登録済みの住所から", :"新しいお届け先"]
enum payment_method:{ "ポイント支払い": 0, "コンビニ支払い": 1, "クレジットカード": 2, "電子マネー": 3, "着払い": 4 }
この記述をモデルに書くこと
書き方は2種類あり、
addressの方は0から順番に番号が振り分けられる。
payment_methodの方は番号を指定して決められます。(0から指定する必要があります)
次に、Viewは、
order/new.html.erb
<%= form_with model: @orders, url: public_orders_confirm_path, method: :get,local: true do |f| %>
<%= f.label :address, "お届け先の住所" %>
<%= f.radio_button :address, 0, checked: "checked" %>
<%= f.label :address, "自宅" %>
<%= f.radio_button :address, 1 %>
<%= f.label :address, "登録済みの住所から" %>
<%= f.radio_button :address, 2 %>
<%= f.label :address, "新しいお届け先" %>
<%= f.label :payment_method, "支払い方法" %>
<%= f.select :payment_method,
[
['ポイント支払い'],
['コンビニ支払い'],
['クレジットカード'],
['電子マネー'],
['着払い']
],prompt: "クレジットカード" %>
<%= f.submit "更新", class: "btn btn-sm btn-success" %>
<% end %>
ラジオボタンとセレクターの2種類で実装してます。