没有路线匹配{:action =>"编辑",:控制器=>"付款",:company_id =>#

时间:2013-10-25 19:14:22

标签: ruby-on-rails routing

所以,我将编辑功能添加到我的支付控制器,如下所示:

 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" }  %>

我想我已经做了我应该做的一切,但我仍然从标题中得到了这个错误。请帮忙。

2 个答案:

答案 0 :(得分:0)

为了生成公司/:company_id / payments /:payment_id的网址,Rails也需要知道付款。 换句话说,您错过了付款参数:

edit_company_payment_path(company, payment)

答案 1 :(得分:0)

根据您的错误,:company_id是一个对象而不是整数。试试这个,

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