<li class=<%= @page_name == "home" ? "active span2" : "span2" %>>
变成:
<li class="active" span2>
当语句评估为真时。
我的预期结果是:
<li class="active span2">
为什么会发生这种情况?
答案 0 :(得分:3)
你的陈述的输出实际上是
<li class=active span2>
大多数浏览器都会将其转换为您的输出,以便纠正无效标记。
你想让它以这种方式渲染:
<li class="<%= @page_name == "home" ? "active span2" : "span2" %>">
答案 1 :(得分:3)
标记中的引号基本上是在String
个对象中声明内容。该语句的输出是一个字符串,但该字符串不会被封装在引号中。为了使标记有效,类属性的值必须在引号中。随后,您需要将整个语句括在双引号中:
<li class="<%= @page_name == 'home' ? 'active span2' : 'span2' %>">