应用程序/控制器/ bookings_controller.rb找不到约会:45:在'创造”的ActiveRecord :: RecordNotFound在BookingsController#创建没有ID
我有一个约会对象和预订对象。预订属于约会和约会has_many预订。
我想创建一个具有预约对象: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正确appointment_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>
你的表单是怎样的? – apneadiving
你能告诉控制器哪一行是第45行吗? – rewritten
第45行创建动作:@appointment = Appointment.find(params [:appointment_id]) – Benamir