app/controllers/bookings_controller.rb:45:in `create'
我有一个约会对象和一个预订对象。Bookings 属于 Appointments 和 Appointments has_many bookings。
我想创建一个具有 :appointment_id 的预订对象
这是我的代码:
<% @appointments.each do |appointment| %>
<%= link_to "new Booking", new_appointment_booking_path(appointment)%>
<%end%>
预订控制器:
def new
@appointment = Appointment.find(params[:appointment_id])
@booking = @appointment.bookings.new
...
def create
I was missing [:booking] in line 45.
Line 45: @appointment = Appointment.find(params[:booking][:appointment_id])
@booking = @appointment.bookings.new(params[:booking])
路线
resources :appointments do
resources :bookings
end
当我提交我的 Bookings_form 时,通过了正确的约会 ID,但我收到以下错误:
ActiveRecord::RecordNotFound in BookingsController#create
Couldn't find Appointment without an ID
预订_form
<%= simple_form_for(@booking) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :appointment_date %>
<%= f.input :start_time %>
<%= f.input :end_time %>
<%= f.input :name %>
<%= f.input :phone_number %>
<%= f.hidden_field :appointment_id%>
<div class="form-actions">
<%= f.button :submit %>
</div>