<li class=<%= @page_name == "home" ? "active span2" : "span2" %>>
变成:
<li class="active" span2>
当语句评估为真时。
我的预期结果是:
<li class="active span2">
任何想法为什么会发生这种情况?
<li class=<%= @page_name == "home" ? "active span2" : "span2" %>>
变成:
<li class="active" span2>
当语句评估为真时。
我的预期结果是:
<li class="active span2">
任何想法为什么会发生这种情况?
你的语句的输出实际上是
<li class=active span2>
大多数浏览器会将其转换为您的输出,以纠正无效标记。
你会希望它以这种方式呈现:
<li class="<%= @page_name == "home" ? "active span2" : "span2" %>">
标签中的引号本质上是将其中的内容声明为String
对象。该语句的输出是一个字符串,但该字符串不会被封装在引号中。为了使标记有效,类属性的值必须用引号引起来。随后,您需要将整个语句括在双引号中:
<li class="<%= @page_name == 'home' ? 'active span2' : 'span2' %>">