実現したいこと
- boolean型でfalseデータを取得する
- 商品追加時(createメソッド)にboolean型でtrue(販売中), false(販売停止中)を商品一覧ページでは、true,falseではなく販売中、販売停止中と、ステータス状態の名前として表示させたい。
前提
サンプルサイトとして、お菓子のオンライン販売ページを作成しております。
管理者側で商品の追加(createメソッド)したものを一覧表示させるページを作成しております。
投稿時に下記画像の下部にあるようなラジオボタンにて、boolean型で販売ステータス状態も実装中です。
新規登録ボタンでcreateメソッド実行後、商品一覧ページに遷移すると下記画像のような状態になります。
発生している問題
・ラジオボタンでfalse(販売停止中)を選んでも一覧ページを見るとtrueになっている。
・商品一覧ページではステータス状態を名前(販売中・販売停止中)で表示させたい。
該当のソースコード
views/admin/items/new.html.erb
1 <tr> 2 <th>販売ステータス</th> 3 <td> 4 <!-- Q.form_withのmodel: ? 販売できるか→item? --> 5 <%= form_with model: @item do |f| %> 6 <%= f.radio_button :is_active, value: true %> 7 <%= f.label :is_active, "販売中", {value: :true, style: "display: inline-block;"} %> 8 <%= f.radio_button :is_active, value: false %> 9 <%= f.label :is_active, "販売停止中", {value: :false, style: "display: inline-block;"} %> 10 <% end %> 11 </td> 12 </tr>
views/admin/items/index.html.erb
1 <% @items.each do |item| %> 2 <tr> 3 <td><%= item.id %></td> 4 <td><%= link_to @items.name, admin_item_path(item.id) %></td> 5 <td><%= item.price %></td> 6 <td><%= item.genre.name %></td> 7 <td><%= item.is_active %></td> 8 </tr> 9 <% end %>
shema.rb
1 create_table "items", force: :cascade do |t| 2 3 t.boolean "is_active", default: true, null: false 4 5 end
コントローラーのコードはどのようになっていますか?

回答1件
あなたの回答
tips
プレビュー