2013-10-25 91 views
0

所以,我將編輯功能添加到我的支付控制器,如下所示:沒有路線匹配{:action =>「edit」,:controller =>「payments」,:company_id =>#<公司ID:1等

def edit 

    @payment = Payment.edit 
    if @payment.save 
     redirect_to showCompany_path, notice: 'Successfully edited!' 
    else 
     render :edit 
    end 
    end 

我的付款/視圖中有相應的edit.html.haml視圖。 這是我的路線RB:

resources :companies do 
    put :edit, :on => :collection 

    resources :payments do 
    put :edit, :on => :collection 
    end 
end 

而且我想在我的其他看法,我是這樣定義的連結此款項編輯:

<%= link_to 'Edit Payment Info', edit_company_payment_path(company), {:style=>'color:black; display:inline;', :class=>"btn btn-primary" } %> 

我認爲我所做的一切都是我應該,但我仍然從標題中得到這個錯誤。請幫忙。

回答

0

爲了生成一個URL給公司/:company_id/payments /:payment_id,Rails也需要知道付款。 換句話說,你缺少的支付PARAM:

edit_company_payment_path(company, payment) 
+0

當我把edit_company_payment_path(公司支付),我得到:未定義的局部變量付款,當我把edit_company_payment_path(公司,@payment),我得到我開始了同樣的錯誤。 –

+0

是@付款付款嗎?或者它是零? –

+0

我認爲它是零..我不認爲我甚至沒有付款編號。 –

0

從你的錯誤,:COMPANY_ID是一個對象不是整數。試試這個,

edit_company_payment_path({:company_id => company.id, :payment_id => @payment.id}) 
相關問題