我有一个html.erb文件,其中我有html代码。我插入了这段红宝石代码
<li <%= puts "class='active'" %>>Link</li>
但是当我在rails服务器上运行代码时,class="active"
不会被渲染。为什么这样,我该如何解决?我错过了一些基本的和基本的东西吗?
答案 0 :(得分:3)
不要使用看跌期权。使用此:
<li <%= "class='active'" %>>Link</li>
puts
将字符串输出到stdout并返回nil
。这就是为什么你的班级没有被渲染的原因。
为避免转义,请在字符串前加raw
<li <%= raw "class='active'" %>>Link</li>
或者,如果真的你的代码是什么(没有简化等),你可以做到
<li class='active'>Link</li>
答案 1 :(得分:3)
puts
向STDOUT输出一个语句,或者运行服务器的任何控制台。它不会插入到您的视图中,它只会由您的服务器输出。
您根本不需要任何声明来评估此处的ERB。你可以这样做:
<li <%= "class='active'" %>>Link</li>
在the Ruby on Rails view guide查看有关ERB模板语言的更多详细信息。