Это мой контроллер заказов. У меня возникла проблема при создании действия, я не могу получить идентификатор отеля. Мне нужно получить идентификатор отеля в контроллере бронирования действия создания. Я пробовал маршрутизацию членов, но столкнулся с проблемами в пути, мне нужен прямой подход для решения проблемы
class BookingsController < ApplicationController
def new
@hotel = Hotel.find(params[:hotel_id])
@booking = Booking.new
@single = Room.joins(:hotel).where("hotel_id = ?", params[:hotel_id]).pluck(:single_bedroom_num)
@double = Room.joins(:hotel).where("hotel_id = ?", params[:hotel_id]).pluck(:double_bedroom_num)
@suite = Room.joins(:hotel).where("hotel_id = ?", params[:hotel_id]).pluck(:suite_room_num)
@dormitory = Room.joins(:hotel).where("hotel_id = ?", params[:hotel_id]).pluck(:dormitory_room_num)
s = params[:single_bedroom_num]
d = params[:double_bedroom_num]
su = params[:suite_room_num]
dor = params[:dormitory_room_num]
end
def index
end
def create
@hotel = Hotel.find(params[:hotel_id])
@booking = Booking.new(book_params)
if @booking.save
flash.now.alert = "booked successfully!"
redirect_to root_path
else
flash.now.alert = "Oops, couldn't book."
render :new
end
end
def show
@hotel = Hotel.find(params[:hotel_id])
check_in = params[:check_in_date]
check_out = params[:check_out_date]
@single = Room.single_bedroom_num
@booking = Booking.find(params[:id])
end
private
def book_params
params.require(:booking).permit(:id, :num_of_guests, :guest_name, :check_in_date, :check_out_date, :single_bedroom_num, :double_bedroom_num, :suite_room_num, :dormitory_room_num, :hotel_name, :hotel_id, :room_id)
end
end