注入Ruby并放入HTML

时间:2012-11-13 20:24:34

标签: html css ruby-on-rails ruby

我有一个html.erb文件,其中我有html代码。我插入了这段红宝石代码

<li <%= puts "class='active'" %>>Link</li>

但是当我在rails服务器上运行代码时,class="active"不会被渲染。为什么这样,我该如何解决?我错过了一些基本的和基本的东西吗?

2 个答案:

答案 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模板语言的更多详细信息。