rails にてECサイトを作成しています
enumを日本語化し、それを利用したセレクトボックスを作成しているのですが、submitボタンを押したら初期値にセレクトボックスが戻ってしまいます。
うまく反応できてない気もするので改善する場所をご教授お願いいたします。
showhtml
1<td> 2 <%= form_with model: [:host, @order] do |f| %> 3 <%= f.select :production_status, Order_item.production_statuses.keys.map {|k| [I18n.t("enums.order_item.production_status.#{k}"), k]} %> 4 <%= f.submit "更新", class: "btn btn-primary" %> 5 <% end %> 6 </td>
controller
1class Host::OrdersController < ApplicationController 2 before_action :authenticate_host! 3 4 def top 5 range = Date.today.beginning_of_day..Date.today.end_of_day 6 @orders = Order.where(created_at: range) 7 end 8 9 def today_index 10 range = Date.today.beginning_of_day..Date.today.end_of_day 11 @orders = Order.where(created_at: range) 12 @orders = @orders.page(params[:page]) 13 end 14 15 16 def index 17 @orders = Order.page(params[:page]).reverse_order 18 end 19 20 def show 21 @order = Order.find(params[:id]) 22 23 end 24 25 26 def edit 27 @order = Order.find(params[:id]) 28 end 29 30 def update 31 order = Order.find(params[:id]) 32 order.update(order_params) 33 flash[:notice] = "ステータスが更新されました" 34 redirect_to host_order_path(order.id) 35 end 36 37 private 38 def order_params 39 params.require(:order).permit( 40 :customer_id, 41 :postage, 42 :name, 43 :postal_code, 44 :price, 45 ) 46 end 47end 48 49
schma
1 create_table "orders", force: :cascade do |t| 2 t.integer "customer_id" 3 t.integer "postage", default: 800 4 t.string "name" 5 t.string "postal_code" 6 t.string "address" 7 t.integer "payment", default: 0 8 t.integer "order_status", default: 0 9 t.integer "price" 10 t.datetime "created_at", null: false 11 t.datetime "updated_at", null: false
terminal
1サブミット後 2Parameters: {"id"=>"1"} 3 Host Load (0.3ms) SELECT "hosts".* FROM "hosts" WHERE "hosts"."id" = ? ORDER BY "hosts"."id" ASC LIMIT ? [["id", 1], ["LIMIT", 1]] 4 ↳ /home/vagrant/.rbenv/versions/2.5.7/lib/ruby/gems/2.5.0/gems/activerecord-5.2.4.3/lib/active_record/log_subscriber.rb:98 5 Order Load (0.6ms) SELECT "orders".* FROM "orders" WHERE "orders"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] 6 ↳ app/controllers/host/orders_controller.rb:21 7 Rendering host/orders/show.html.erb within layouts/application 8 Customer Load (0.6ms) SELECT "customers".* FROM "customers" WHERE "customers"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] 9 ↳ app/views/host/orders/show.html.erb:7 10 OrderItem Load (0.3ms) SELECT "order_items".* FROM "order_items" WHERE "order_items"."order_id" = ? [["order_id", 1]] 11 ↳ app/views/host/orders/show.html.erb:50 12 Rendered host/orders/show.html.erb within layouts/application (98.6ms) 13 Rendered layouts/_header.html.erb (3.7ms) 14Completed 200 OK in 509ms (Views: 497.6ms | ActiveRecord: 2.2ms) 15
何ができていなくて、どうなっているんでしょうか。
"submitが反応しない"とはどういうことでしょうか?
"submitボタンを押したら初期値にセレクトボックスが戻ってしまいます。"というのが問題なのですか?
"うまく反応できてない気もするので"といううまく反応できている状態とはどういう状態ですか?
スクリーンショットを記載したり、処理の流れで何がどこまで意図通りにうごているのか、どこが動いていないのか、意図通りとはどういう状態なのかを説明されるとこちらとしてわかりやすいかもしれないです。
あなたの回答
tips
プレビュー