我的应用程序环境是Rails 4,Ruby 2.1.8
我正在尝试在列表页面上添加Stripe checkout按钮,您可能知道, Stripe的结帐不需要与您的数据库进行任何交互,因此没有Charges模型。这也解释了为什么示例中的Stripe JS checkout的嵌入式ruby使用了form标签方法而不是方法的形式。
所以我只想传递列表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">
答案 0 :(得分:0)
您需要更改for路径,以便Rails知道您传入的内容。
form_tag charges_path(id: @listing.id)