質問編集履歴

4

修正

2024/12/13 10:08

投稿

nao_sss
nao_sss

スコア1

test CHANGED
File without changes
test CHANGED
@@ -38,13 +38,73 @@
38
38
  ### 該当のソースコード
39
39
 
40
40
  ```Ruby on Rails
41
+ class ReservationsController < ApplicationController
42
+ before_action :set_room, only: [:new, :create]
43
+ before_action :set_reservation, only: [:show, :destroy]
44
+ before_action :authenticate_user!
45
+
46
+ # 予約一覧
47
+ def index
48
+ @reservations = current_user.reservations.includes(:room)
49
+ end
50
+
51
+ # 予約確認ページ
52
+ def show
53
+ end
54
+
55
+ # 新規作成フォーム
56
+ def new
57
+ @reservation = Reservation.new
58
+ @room = Room.find(params[:room_id])
59
+ end
60
+
61
+ # 作成処理
62
+ def create
63
+ @room = Room.find(params[:room_id])
64
+ @reservation = current_user.reservations.new(reservation_params)
65
+ @reservation.room = @room
66
+
67
+ if @reservation.save
68
+ redirect_to @reservation, notice: "予約が確定しました。"
69
+ else
70
+ flash.now[:alert] = "予約に失敗しました。入力内容をご確認ください。"
71
+ render :new
72
+ end
73
+ end
74
+
75
+ # 予約削除
76
+ def destroy
77
+ @reservation.destroy
78
+ redirect_to reservations_path, notice: "予約を削除しました。"
79
+ end
80
+
41
- # 予約確定処理
81
+ # 予約確定処理
42
82
  def confirm
43
83
  if @reservation.update(confirmed: true)
44
84
  redirect_to reservations_path, notice: "予約が確定しました。"
45
85
  else
46
86
  flash[:alert] = "予約確定に失敗しました。"
47
87
  render :confirmation, status: :unprocessable_entity
88
+ end
89
+ end
90
+
91
+
92
+
93
+ private
94
+
95
+ def set_room
96
+ @room = Room.find(params[:room_id])
97
+ end
98
+
99
+ def set_reservation
100
+ @reservation = current_user.reservations.find_by(id: params[:id])
101
+ unless @reservation
102
+ redirect_to reservations_path, alert: "予約が見つかりませんでした。"
103
+ end
104
+ end
105
+
106
+ def reservation_params
107
+ params.require(:reservation).permit(:check_in_date, :check_out_date, :number_of_guests)
48
108
  end
49
109
  end
50
110
 

3

修正

2024/12/12 03:23

投稿

nao_sss
nao_sss

スコア1

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
  ### 発生している問題・分からないこと
9
9
  現在施設詳細画面は引数として存在する施設の値が指定されるように実装したため表示できている(http://localhost:3000/rooms/1)のですが、
10
10
  予約確認画面に遷移すると存在しない施設の値が引数に指定され「予約を確定」ボタンを押下しても存在しない施設IDが値として指定されるためエラーとなっている状態です。(http://localhost:3000/reservations/29)
11
- reservation_contrrollerに記載のconfirmメソッドで値を取得している認識なのですが、下記のcreateメソッドとなにか競合する部分があるのかと思い調べているのですが原因がわからない状態です。
11
+ reservation_contrrollerに記載のconfirmメソッドで値を取得している認識なのですが、下記のcreateメソッドとなにか競合する部分があるのか、そもそも上記の存在しな組織IDはどこから渡されているのかなど調べているのですが原因がわからない状態です。
12
12
 
13
13
  ### エラーメッセージ
14
14
  ```error

2

誤字

2024/12/12 03:16

投稿

nao_sss
nao_sss

スコア1

test CHANGED
File without changes
test CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  ### 発生している問題・分からないこと
9
9
  現在施設詳細画面は引数として存在する施設の値が指定されるように実装したため表示できている(http://localhost:3000/rooms/1)のですが、
10
- 予約確認画面に遷移すると存在しない施設の値が引数に指定され「予約を確定」ボタンを押下しても値が存在しないためエラーとなっている状態です。(http://localhost:3000/reservations/29)
10
+ 予約確認画面に遷移すると存在しない施設の値が引数に指定され「予約を確定」ボタンを押下しても存在しない施設IDが値として指定されるためエラーとなっている状態です。(http://localhost:3000/reservations/29)
11
11
  reservation_contrrollerに記載のconfirmメソッドで値を取得している認識なのですが、下記のcreateメソッドとなにか競合する部分があるのかと思い調べているのですが原因がわからない状態です。
12
12
 
13
13
  ### エラーメッセージ

1

内容の修正

2024/12/12 03:15

投稿

nao_sss
nao_sss

スコア1

test CHANGED
File without changes
test CHANGED
@@ -6,10 +6,8 @@
6
6
  というものです。
7
7
 
8
8
  ### 発生している問題・分からないこと
9
- 現在施設詳細画面は引数として存在する施設の値が指定されるように実装したため表示できている(```http://localhost:3000/rooms/1
9
+ 現在施設詳細画面は引数として存在する施設の値が指定されるように実装したため表示できている(http://localhost:3000/rooms/1)のですが、
10
- ```)のですが、
11
- 予約確認画面に遷移すると存在しない施設の値が引数に指定され「予約を確定」ボタンを押下しても値が存在しないためエラーとなっている状態です。(```http://localhost:3000/reservations/29
10
+ 予約確認画面に遷移すると存在しない施設の値が引数に指定され「予約を確定」ボタンを押下しても値が存在しないためエラーとなっている状態です。(http://localhost:3000/reservations/29)
12
- ```)
13
11
  reservation_contrrollerに記載のconfirmメソッドで値を取得している認識なのですが、下記のcreateメソッドとなにか競合する部分があるのかと思い調べているのですが原因がわからない状態です。
14
12
 
15
13
  ### エラーメッセージ