From 2e38bf84f19fd49344c5e23a24ae88a08d9c208c Mon Sep 17 00:00:00 2001 From: IMAZU Asami Date: Wed, 26 Nov 2025 16:00:53 +0900 Subject: [PATCH 1/3] Add pry --- Gemfile | 1 + Gemfile.lock | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/Gemfile b/Gemfile index 7a04e3a..de1445c 100644 --- a/Gemfile +++ b/Gemfile @@ -50,6 +50,7 @@ end group :development do # Use console on exceptions pages [https://github.com/rails/web-console] gem "web-console" + gem "pry" end group :test do diff --git a/Gemfile.lock b/Gemfile.lock index 10050f4..49baf1d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -99,6 +99,7 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) + coderay (1.1.3) concurrent-ruby (1.3.5) connection_pool (2.5.4) crass (1.0.6) @@ -145,6 +146,7 @@ GEM net-smtp marcel (1.1.0) matrix (0.4.3) + method_source (1.1.0) mini_mime (1.1.5) minitest (5.26.2) msgpack (1.8.0) @@ -186,6 +188,9 @@ GEM actionpack (>= 7.0.0) activesupport (>= 7.0.0) rack + pry (0.15.2) + coderay (~> 1.1) + method_source (~> 1.0) psych (5.2.6) date stringio @@ -355,6 +360,7 @@ DEPENDENCIES importmap-rails jbuilder propshaft + pry puma (>= 5.0) rails (~> 8.1.0) rubocop-rails-omakase From aae35479ff774cac18c8959c6756af8ac423d52c Mon Sep 17 00:00:00 2001 From: IMAZU Asami Date: Wed, 26 Nov 2025 16:17:57 +0900 Subject: [PATCH 2/3] Create order record --- .../dashboard/orders_controller.rb | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/app/controllers/dashboard/orders_controller.rb b/app/controllers/dashboard/orders_controller.rb index 2c31bf5..3af4807 100644 --- a/app/controllers/dashboard/orders_controller.rb +++ b/app/controllers/dashboard/orders_controller.rb @@ -11,11 +11,33 @@ def new name: reservation.name, user: Current.user ) + new_resources_setup + end + + def create + reservation = Reservation.find(params.dig(:order, :reservation_id)) + item = Item.find(params.dig(:order, :item_id)) + @order = Order.new(order_params(reservation, item)) + + if @order.save + redirect_to dashboard_orders_path, notice: '注文が作成されました' + else + new_resources_setup + flash.alert.now = @order.errors.full_messages + render :new, status: :unprocessable_entity + end + end + + private + + def new_resources_setup @items = Item.all.order(:name) @users = User.all.order(:name) end - def create - # Write Code Here + def order_params(reservation, item) + params.require(:order) + .permit(:reservation_id, :user_id, :item_id, :email, :name, :item_id) + .merge(name: item.name, email: reservation.email) end end From 2c0412532751a85a45ef6cead54ab2dabe350069 Mon Sep 17 00:00:00 2001 From: IMAZU Asami Date: Wed, 26 Nov 2025 16:22:21 +0900 Subject: [PATCH 3/3] Add TODO comment --- app/controllers/dashboard/orders_controller.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/controllers/dashboard/orders_controller.rb b/app/controllers/dashboard/orders_controller.rb index 3af4807..a579cc7 100644 --- a/app/controllers/dashboard/orders_controller.rb +++ b/app/controllers/dashboard/orders_controller.rb @@ -23,6 +23,7 @@ def create redirect_to dashboard_orders_path, notice: '注文が作成されました' else new_resources_setup + # TODO: 画面でいい感じに表示されるようにする flash.alert.now = @order.errors.full_messages render :new, status: :unprocessable_entity end