我有一张付款表。在索引视图中,我列出了表格中的所有付款,在展示视图中,我想显示所有付款的形式,用户可以选择要进一步处理的付款。
在索引操作视图的表格上方,我有:
<%= link to "Customise", show_payment_path %>
然后在控制器中:
def show
@payments = Payment.all
end
在我的路线档案中:
resources :payments
我得到的错误是:
undefined local variable or method `show_payment_path'
我试过了
<%= link_to 'Customise Sepa Mandate', show_payments_path %>
但也会出现同样的错误。和使用url而不是路径一样。
答案 0 :(得分:0)
资源路由show
操作的路径仅为payment_path
(单一资源)或payment_path(id)
。您的“自定义”链接会让我相信您确实想要edit_payment_path(id)
。
有关详细信息,请参阅Rails Guides — Generating Paths and URLs From Code。
答案 1 :(得分:0)
运行rake routes命令查看可用的路由和正确的语法。
传递show_payment_path(:id)以获取特定的付款显示页面。
答案 2 :(得分:-2)
为此创建自己的路径并创建自己的路径变量,例如
resources :payments, except: [:show] do
get '/show' => "payments#show", on: collection, as: :show
end