我已经在我的show.html.erb
:
<%= link_to "Pay on this contract", new_product_contract_payment_path %>
routes.rb
resources :products do
resources :contracts do
resources :payments
end
end
但是当我查看合同页面时,我得到这个错误:
No route matches {:action=>"new", :controller=>"payments"}
当我使用rake routes
并且支付控制器在那里时,路由显示。这是我在支付控制器中的新方法。
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
有什么想法是抛出错误?
您需要传入一个合同和一个产品,所以类似于:
new_product_contract_payment_path(@product, @contract)