お世話になります。
力及ばず質問させていただきます。
今回、練習として「顧客データの登録と編集」ができるアプリを作っております。
顧客には「一般」「上級」「ゴールド」の三種類のランクを設定できるようになっています。
それぞれ1,2,3の数値を割り振ってテーブルに保存するようにしました。
前提・実現したいこと
顧客情報のリスト表を作成した際にrankカラムが1の顧客には「一般」、2の顧客には「上級」、3の顧客には「ゴールド」と表示するにはどのようにすればいいでしょうか。
力を貸していただければ幸いです。
該当のソースコード
list.html.erb
Ruby
1<h2>顧客一覧</h2> 2<p>情報を編集したい顧客の名前を押して下さい</p> 3 4 5<table class="seito_list"> 6 <tr> 7 <th>名前</th> 8 <th>電話番号</th> 9 <th>ランク</th> 10 </tr> 11<% @list.each do |li| %> 12 <tr> 13 <td><%= link_to(li.name,"/#{li.id}") %></td> 14 <td><%= li.phone %></td> 15 <td><%= li.rank %></td> 16 </tr> 17<% end %> 18</table> 19 20<%= link_to('トップへ戻る','/') %> 21```当たり前なのですが、このままではli.rankは数値で表示されますので、どうにかして数値に対応したランクの文字列を表示したいのです。 22 23 24register.html.erb(ここで顧客情報を登録します) 25```ここに言語を入力 26<h2>顧客情報登録</h2> 27<%= form_for @clients,:url => {:action => :create} do |f| %> 28<%= f.label :"名前" %><%= f.text_field :name %><br> 29<%= f.label :"電話番号" %><%= f.text_field :phone %><br> 30<%= f.label :"ランク" %><%= f.select :rank,[["一般",1], ["上級",2], ["ゴールド",3]], :prompt => "選択してください" %><br> 31 32<br> 33 34<%= f.submit "決定", data: { confirm: "登録しますか?"} %> 35 36<% end %>
routes.rb
Rails.application.routes.draw do get '/' => 'home#index' get 'home/register' => 'home#register' get 'home/list' => 'home#list' get '/:id' => 'home#edit' patch '/home/update' => 'home#update' post 'home/create' => 'home#create' # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end
home_controller.rb
class HomeController < ApplicationController def index @datas = Client.all end def register @clients = Client.new end def list @list = Client.all end def edit @clients = Client.find_by(id: params[:id]) end def create @clients = Client.create(name: params[:client][:name], phone: params[:client][:phone], rank: params[:client][:rank]) redirect_to("/") end def update @clients = Client.find_by(id: params[:client][:id]) @clients.update(name: params[:client][:name], phone: params[:client][:phone], rank: params[:client][:rank]) redirect_to("/home/list") end end
稚拙な質問とは思いますが、ご教示いただければ幸いです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/15 04:27