質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

772閲覧

rails enumを使ったセレクトボックスにてsubmitが反応しない

fishmilk0313

総合スコア2

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/08/23 12:06

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Cojiro

2020/08/25 10:05

何ができていなくて、どうなっているんでしょうか。 "submitが反応しない"とはどういうことでしょうか? "submitボタンを押したら初期値にセレクトボックスが戻ってしまいます。"というのが問題なのですか? "うまく反応できてない気もするので"といううまく反応できている状態とはどういう状態ですか? スクリーンショットを記載したり、処理の流れで何がどこまで意図通りにうごているのか、どこが動いていないのか、意図通りとはどういう状態なのかを説明されるとこちらとしてわかりやすいかもしれないです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問