我有兩個模型在rails 3.1應用程序:lease_booking和lease_log。 Lease_booking has_many lease_logs和lease_log belongs_to lease_booking。在routes.rb中的關聯是:如何在導軌中建立'新'在相關的控制器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
租賃記錄控制器似乎沒有正確識別租賃預訂的id(應爲1)。
相同的錯誤頁面上的租賃預訂ID(1)是正確的:
Parameters:
{"lease_booking_id"=>"1"}
有沒有辦法解決呢?謝謝。
更新:這裏是耙路線的輸出
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'爲#<#:0x5180718>。由於關聯,rake路由中沒有lease_logs_path。 erb的第一行是:<%= simple_form_for @lease_log do | f | %>。 –
user938363
2011-12-25 23:11:19
有關構建控制器和視圖的完整示例,請參閱下面的鏈接。 – user938363 2011-12-26 03:37:05