2011-04-20 156 views
0

我在我的show.html.erb有這個Rails中嵌套很深的路線3

No route matches {:action=>"new", :controller=>"payments"}

當我使用時顯示的路線和付款控制器在那裏。這是我在付款控制器中的新方法。

def new 
    @contract = Contract.find(params[:contract]) 
    @payment = @contract.line_items.build 

    respond_to do |format| 
     format.html # new.html.erb 
     format.xml { render :xml => @payment } 
    end 
    end 

有什麼想法拋出錯誤?

回答

4

你需要在合同和產品來傳遞,所以像:

new_product_contract_payment_path(@product, @contract) 
+0

我應該提到我所做的嘗試,並獲得此錯誤:'不路由匹配{:動作=>「新「,:controller =>」payments「,::product_id => nil,:contract_id =>#<合同ID:17,product_id:4,author_id:1,開始:」2011-01-14「,結束於:」2012- 01-14「,created_at:」2011-01-14 01:49:02「,updated_at:」2011-01-14 01:49:02「>}' – Slick23 2011-04-20 18:45:26

+0

固定... @product未被傳遞給合同#顯示 – Slick23 2011-04-20 19:17:53

+1

是的,這通常是原因:)很高興聽到它的作品! – 2011-04-20 19:19:13