没有路由匹配 {: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

我的付款/视图中有相应的编辑.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" }  %>

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

为了生成指向公司/:company_id/payments/:p ayment_id的URL,Rails还需要知道付款。换句话说,您缺少付款参数:

edit_company_payment_path(company, payment)

从您的错误来看,:company_id 是一个对象而不是整数。试试这个,

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

最新更新