質問編集履歴

1 class Area の area_codes周りのcodeを追記

pigeon

pigeon score 16

2019/06/11 14:06  投稿

rails enumを使用したセレクトボックスの表示
class Area の area_codes周りのcode  
```  
class Area < ApplicationRecord  
   enum area_code: {  
   北海道:1,青森県:2,岩手県:3,宮城県:4,秋田県:5,山形県:6,福島県:7,  
   茨城県:8,栃木県:9,群馬県:10,埼玉県:11,千葉県:12,東京都:13,神奈川県:14,  
   新潟県:15,富山県:16,石川県:17,福井県:18,山梨県:19,長野県:20,  
   岐阜県:21,静岡県:22,愛知県:23,三重県:24,  
   滋賀県:25,京都府:26,大阪府:27,兵庫県:28,奈良県:29,和歌山県:30,  
   鳥取県:31,島根県:32,岡山県:33,広島県:34,山口県:35,  
   徳島県:36,香川県:37,愛媛県:38,高知県:39,  
   福岡県:40,佐賀県:41,長崎県:42,熊本県:43,大分県:44,宮崎県:45,鹿児島県:46,沖縄県:47  
 }  
end  
```  
enumを使用してviewに表示
```ruby
          <%= form_with model: @area do |f| %>
               <div class="post-box px-5 pt-3">
                   <h4>地域</h4>
                   <div class="form-group">
                   <%= f.select :area_code, Area.area_codes.keys,{}, class:"form-control" %>
                   <h4 class="mt-3">コメント</h4>
                   <%= f.text_field :comment, class:"form-control" %>
                   <%= f.submit '投稿', class:"btn-sm btn-info mt-3"%>
                   </div>
               </div>
           <% end %>
```
生成されるhtmlが、、、
```
<div class="form-group">
<select class="form-control" value="test" name="area[area_code]" id="area_area_code"><option value="北海道">北海道</option>
<option value="青森県">青森県</option>
<option value="岩手県">岩手県</option>
<option value="宮城県">宮城県</option>
<option value="秋田県">秋田県</option>
<option value="山形県">山形県</option>
<option value="福島県">福島県</option>
<option value="茨城県">茨城県</option>
<option value="栃木県">栃木県</option>
<option value="群馬県">群馬県</option>
<option value="埼玉県">埼玉県</option>
<option value="千葉県">千葉県</option>
<option value="東京都">東京都</option>
<option value="神奈川県">神奈川県</option>
<option value="新潟県">新潟県</option>
<option value="富山県">富山県</option>
<option value="石川県">石川県</option>
<option value="福井県">福井県</option>
<option value="山梨県">山梨県</option>
<option value="長野県">長野県</option>
<option value="岐阜県">岐阜県</option>
<option value="静岡県">静岡県</option>
<option value="愛知県">愛知県</option>
<option value="三重県">三重県</option>
<option value="滋賀県">滋賀県</option>
<option value="京都府">京都府</option>
<option value="大阪府">大阪府</option>
<option value="兵庫県">兵庫県</option>
<option value="奈良県">奈良県</option>
<option value="和歌山県">和歌山県</option>
<option value="鳥取県">鳥取県</option>
<option value="島根県">島根県</option>
<option value="岡山県">岡山県</option>
<option value="広島県">広島県</option>
<option value="山口県">山口県</option>
<option value="徳島県">徳島県</option>
<option value="香川県">香川県</option>
<option value="愛媛県">愛媛県</option>
<option value="高知県">高知県</option>
<option value="福岡県">福岡県</option>
<option value="佐賀県">佐賀県</option>
<option value="長崎県">長崎県</option>
<option value="熊本県">熊本県</option>
<option value="大分県">大分県</option>
<option value="宮崎県">宮崎県</option>
<option value="鹿児島県">鹿児島県</option>
<option value="沖縄県">沖縄県</option>
</select>
```
```
<option value="北海道">北海道</option>
<option value="1">北海道</option>
```
 
 
と、したいです。
よろしくおねがいします。
よろしくおねがいします。
  • Ruby

    9891 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    9299 questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る