前提・実現したいこと
勉強した時間をプルダウンメニュから選択しDBに数値を登録する処理を作成したいのだが
viewでプルダウンメニューの記述を省略して記述したい。
new.html.erb
<div class="wrapper"> <div class="container"> <h1 class="my-5 w-25 mx-auto text-center border-bottom">新規投稿</h1> <%= form_with model: @post, local: true do | f | %> <p class="mb-4 w-50 mx-auto text-muted">学習した言語の時間を入力してください</p> <div class="d-flex flex-wrap w-50 mx-auto justify-content-between"> <div class="form-group"> <%= f.label :html, 'HTML'%> <%= f.select :html, [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24]] %> </div> <div class="form-group"> <%= f.label :css, 'CSS'%> <%= f.select :css, [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24]] %> </div> <div class="form-group"> <%= f.label :javascript, 'JavaScript'%> <%= f.select :javascript, [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24]] %> </div> <div class="form-group"> <%= f.label :jquery, 'jQuery'%> <%= f.select :jquery, [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24]] %> </div> <div class="form-group"> <%= f.label :ruby, 'Ruby'%> <%= f.select :ruby, [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24]] %> </div> <div class="form-group"> <%= f.label :rails, 'Rails'%> <%= f.select :rails, [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24]] %> </div> <div class="form-group"> <%= f.label :php, 'PHP'%> <%= f.select :php, [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24]] %> </div> <div class="form-group"> <%= f.label :java, 'Java'%> <%= f.select :java, [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24]] %> </div> <div class="form-group"> <%= f.label :go, 'Go'%> <%= f.select :go, [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24]] %> </div> <div class="form-group"> <%= f.label :python, 'Python'%> <%= f.select :python, [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24]] %> </div> <div class="form-group"> <%= f.label :swift, 'Swift'%> <%= f.select :swift, [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24]] %> </div> </div> <div class="form-group w-50 mx-auto"> <%= f.label :content, '学習内容(140字以内で入力してください)', class: 'p-1 text-muted'%> <%= f.text_area :content, rows: 5, class: 'form-control' %> </div> <div class="d-flex w-50 mx-auto"> <div class="w-50"> <%= link_to '戻る', :back, class: 'text-dark p-1'%> </div> <div class="w-50 mx-auto text-right"> <%= f.submit '登録', class: 'btn btn-primary px-4' %> </div> </div> <% end %> </div> <%= render partial: 'home/footer' %> </div>
修正したい箇所
現状はベタがきで1から24までの数値を用意しているがループ処理などで記述し、コードの省略を行いたい。
あなたの回答
tips
プレビュー