##enumで定義した配列の中身をshow画面で表示したい
オリジナルアプリを作成していて、productsテーブルのstatusカラムとvarietyカラムをenumを使って選択できるようにしました。Sequel Proで確認したところ、Luxury or Dailyではなく配列の数値で格納されていました。to_sメソッドを試したりしましたが、検討違いだったようで、、どうしたら表記されるのか分からず困っていますので、教えて頂けたらと思います。
model
product.rb
class Product < ApplicationRecord belongs_to :user enum status: [ :Luxury, :Daily ] enum variety: [ :Foods, :Goods ] mount_uploader :photo, ImagesUploader validates :user, presence: true validates :status, presence: true validates :variety, presence: true end
new.html.erb
<h1>商品登録</h1> <%= flash[:notice] %> <%= form_with model: @product do |f| %> <div><%= f.label :'status' %></div> <% Product.statuses.each do |status| %> <div><%= f.label ("enums.products.status#{status[0]}")%></div> <div><%= f.radio_button :status, status[0,1]%></div> <% end %> <div><%= f.label :'variety' %></div> <% Product.varieties.each do |variety| %> <div><%= f.label ("enums.products.variety#{variety[0]}")%></div> <div><%= f.radio_button :variety, variety[0,1]%></div> <% end %> <% end %>
index.html.erb
<% @products.each do |product| %> <tr> <td><%= product.user_id %></td> <td><%= product.status %></td> <td><%= product.variety %></td> </tr> <% end %>
show.thml.erb
<tr> <th>status</th> <th>variety</th> </tr> <tr> <td><%= @product.status %></td> <td><%= @product.variety %></td> </tr>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。