div类名中的rails变量

时间:2014-11-13 16:10:39

标签: ruby-on-rails

我刚刚升级到Rails 4(这可能是也可能不是问题。

过去如果我想在div类名中使用变量,我就会做类似以下的事情。

<% my_class_name = "hello" %>
<div class = "#{my_class_name}">
..
</div>

(显然变量将在控制器中设置或者是集合的实例)

然而,当我这样做时,我在页面源中看到的输出正是已经被证实的结果,即

<div class = "#{my_class_name}">
and NOT
<div class = "hello">

在rails 4中哪些内容已更改,此语法不再有效?或任何其他提示,非常感谢。

有趣的是,当我在辅助方法中使用以下内容时,一切都很好......

content_tag(:div, class: "#{divclass}") do

3 个答案:

答案 0 :(得分:14)

您需要在erb模板中使用erb标记:

<div class="<%= my_class_name %>">

答案 1 :(得分:2)

您需要使用<%标记输入ERB / Ruby上下文。

<% my_class_name = "hello" %>
<div class="<%= my_class_name %>">
..
</div>

#{}是ERB / Ruby上下文中的插值。

答案 2 :(得分:0)

<% my_class_name = "hello" %>
<div class = <%= my_class_name %>>
..
</div

使用&lt;%=%&gt;而不是#{}