Здесь резервируют контроллер:паров отсутствуют или значение пусто:
class BookingsController < ApplicationController
before_action :logged_in_user, only: [:create]
def new
@booking = Booking.new
end
def index
@bookings = Booking.all
end
def create
@booking = current_user.bookings.build(booking_params)
if @booking.save
flash[:success] = "Booking created!"
redirect_to root_url
else
render 'static_pages/home'
end
end
def show
@booking = Booking.find(params[:id])
end
def destroy
@booking = Booking.find(params[:id])
@booking.destroy
redirect_to bookings_path
end
private
def booking_params
params.require(:booking).permit(:date, :hour, :game)
end
end
Когда я отправляю после utf8 и подлинности маркеров, я не понимаю, почему «# < \ Бронирование: 0x000001061928a8> \» вместо просто «бронирования», тогда вложенный хеш содержит дату, час и игру, которые я разрешаю в контроллере.
Вот вид:
<%= form_for(@booking) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<%= f.label :day %>
<%= date_field(@booking, :date) %>
<%= f.label :hour %>
<%= number_field(@booking, :hour, in: 8..19) %>
<%= f.label :game %>
<%= select(@booking, :game, [['Singles', 1], ['Doubles', 2]]) %>
<%= f.submit "Book", class: "btn btn-primary" %>
<% end %>
Любая помощь очень ценится.
Я хотел включить отправленные параметры, но он не будет принимать его здесь либо как код или текст. Обратная косая черта заключается в том, чтобы избежать большего количества символов и меньше, чем символы в токене бронирования. –
Я действительно не понимаю проблему/проблему. Можете ли вы объяснить более подробно? Получение объекта <\ Booking: 0x000001061928a8> \ "- это то, что вы ожидаете от действия для создания, поэтому я должен что-то пропускать. – RichardAE
Привет, Ричард, поэтому я считаю, что параметры верны, и именно поэтому я не согласен с тем, чтобы устранить «Параметр отсутствует или значение пуста: бронирование», поскольку я новичок в Rails, не был уверен в хеше перед бронированием и не знаю, как генерируется шестнадцатеричное число –