为什么我的视图变量不在括号内插值?

时间:2013-07-31 13:32:32

标签: ruby-on-rails ruby views

我在Rails视图/ comments / _comments partial中包含此代码:

 <%= render :partial => 'comments/#{@type}' %>

另外,我通过本地传递@type变量,但我得到了:

Missing partial comments/#{@type}

如果我用以下内容替换它,它会起作用:

<%= render :partial => 'comments/post' %>

因此我的视图中未评估@type

有人可以解释一下吗?

1 个答案:

答案 0 :(得分:9)

Ruby中的字符串插值仅适用于使用双引号(“)定义的字符串。所以这应该有效:

<%= render :partial => "comments/#{@type}" %>

或者如果要插入实例变量的值,则适用的简写:

<%= render :partial => "comments/#@type" %>