3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

enum(列拳型)の使い方をまとめました。(Rails)

Last updated at Posted at 2021-01-28

##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種類で実装してます。

3
1
2

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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?