【发布时间】:2011-12-25 15:28:11
【问题描述】:
我在 rails 3.1 应用程序中有两个模型:lease_booking 和lease_log。 Lease_booking has_many lease_logs 和lease_log 属于_tolease_booking。在 routes.rb 中,关联是:
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
租赁日志控制器中似乎未正确识别租赁预订的 id(应为 1)。
同一错误页面上的lease booking id(1)是正确的:
Parameters:
{"lease_booking_id"=>"1"}
有办法解决吗?谢谢。
更新:这是 rake 路由的输出
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"}
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.1