我对Rails很陌生,所以我会尽力解释这个问题。我有一个简单的Products
模型,其中一个字段是Stripe计划名称的名称。这样就可以添加新产品,并且选择会将计划名称附加到路径的末尾。它非常适合测试。
在问题中提到products/show.html.erb
行。我现在只包括这个,因为任何有经验的Rails开发人员都应该看到这个问题。
products / show.html.erb 硬编码
...
<%= link_to 'Subscribe', new_subscription_path(plan: 'monthly'), class: 'btn btn-primary' %>
...
products / show.html.erb 我需要什么
...
<%= link_to 'Subscribe', new_subscription_path(plan: '<%= @product.stripe_name %>' ), class: 'btn btn-primary' %>
...
拥有&lt;%= @ product.stripe_name%&gt; in as string会抛出错误。
浏览器中所需的结果如下所示
http://127.0.0.1:3000/subscription/new?plan=monthly
答案 0 :(得分:3)
此:
<%= link_to 'Subscribe', new_subscription_path(plan: '<%= @product.stripe_name %>' ), class: 'btn btn-primary' %>
应该是这样的:
<%= link_to 'Subscribe', new_subscription_path(plan: @product.stripe_name), class: 'btn btn-primary' %>
您不能将<%= ... %>
放入另一个<%= ... %>
。