Rails 4 个路由参数和路径反转
Rails 4 Routes Params and Path Reversed
我的应用环境是Rails4,Ruby2.1.8
我正在尝试在列表页面上添加 Stripe 结帐按钮,如您所知,Stripe 的结帐不需要与您的数据库进行任何交互,因此没有收费模型。这也解释了为什么示例中的 Stripe JS 结帐的嵌入式 ruby 使用表单标记方法而不是方法的表单。
所以我就是想把listing id传过去自己存起来做参考。但是我的 Rails 路由行为确实有些奇怪:
routes.rb
# stripe
resources :charges
.haml 中的表单标签
= form_tag charges_path(@listing.id) do
不管我怎么查,Param 和 Path 总是颠倒的
<form method="post" accept-charset="UTF-8" action="/111/charges">
我怎样才能到达下面呢?
<form method="post" accept-charset="UTF-8" action="/charges/111">
您需要更改 for 路径,以便 Rails 知道您传递的是什么。
form_tag charges_path(id: @listing.id)
我的应用环境是Rails4,Ruby2.1.8
我正在尝试在列表页面上添加 Stripe 结帐按钮,如您所知,Stripe 的结帐不需要与您的数据库进行任何交互,因此没有收费模型。这也解释了为什么示例中的 Stripe JS 结帐的嵌入式 ruby 使用表单标记方法而不是方法的表单。
所以我就是想把listing id传过去自己存起来做参考。但是我的 Rails 路由行为确实有些奇怪:
routes.rb
# stripe
resources :charges
.haml 中的表单标签
= form_tag charges_path(@listing.id) do
不管我怎么查,Param 和 Path 总是颠倒的
<form method="post" accept-charset="UTF-8" action="/111/charges">
我怎样才能到达下面呢?
<form method="post" accept-charset="UTF-8" action="/charges/111">
您需要更改 for 路径,以便 Rails 知道您传递的是什么。
form_tag charges_path(id: @listing.id)