将Rails 5.0键值路径输出为字符串

时间:2017-09-05 18:06:36

标签: ruby-on-rails ruby-on-rails-5

我对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

1 个答案:

答案 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' %>

您不能将<%= ... %>放入另一个<%= ... %>