У меня есть две модели в рельсах 3.1 app: lease_booking и lease_log. Lease_booking has_many lease_logs и lease_log принадлежит _ к lease_booking. В routes.rb ассоциация:Как конструировать «новый» в assciated контроллер в рельсах 3.1
resources :lease_bookings do
resources :lease_logs
end
В lease_booking show.html.erb, путь, чтобы создать новый журнал аренды является:
<%= link_to "new Log", new_lease_booking_lease_log_path(@lease_booking) %>
'Новый' код в lease_log контроллера:
def new
@lease_log = LeaseBooking.find(params[:id]).lease_log.new()
end
Однако есть ошибка для lease_log контроллера 'новый' после нажатия 'новый журнал':
Couldn't find LeaseBooking without an ID
Кажется, что идентификатор (должно быть 1) аренды не был должным образом признан в контроллере журнала аренды.
Ид Бронирование аренды (1) на той же странице ошибки правильно:
Parameters:
{"lease_booking_id"=>"1"}
Есть ли способ это исправить? Благодарю.
UPDATE: Вот выход рек маршрутов
lease_booking_lease_logs GET /lease_bookings/:lease_booking_id/lease_logs(.:format) {:action=>"index", :controller=>"lease_logs"}
POST /lease_bookings/:lease_booking_id/lease_logs(.:format) {:action=>"create", :controller=>"lease_logs"}
new_lease_booking_lease_log GET /lease_bookings/:lease_booking_id/lease_logs/new(.:format) {:action=>"new", :controller=>"lease_logs"}
edit_lease_booking_lease_log GET /lease_bookings/:lease_booking_id/lease_logs/:id/edit(.:format) {:action=>"edit", :controller=>"lease_logs"}
lease_booking_lease_log GET /lease_bookings/:lease_booking_id/lease_logs/:id(.:format) {:action=>"show", :controller=>"lease_logs"}
PUT /lease_bookings/:lease_booking_id/lease_logs/:id(.:format) {:action=>"update", :controller=>"lease_logs"}
DELETE /lease_bookings/:lease_booking_id/lease_logs/:id(.:format) {:action=>"destroy", :controller=>"lease_logs"}
появляется новая ошибка из _form_new.html.erb: неопределенный метод 'lease_logs_path 'для # <# <Класс: 0x5185020>: 0x5180718>. В rake-маршрутах отсутствует путь lease_logs_path из-за ассоциации. Первая строка erb: <% = simple_form_for @lease_log do | f | %>. – user938363
см. Приведенную ниже ссылку для полного примера построения контроллера и представления. – user938363