0

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

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

但是当我在 Rails 服务器上运行代码时,class="active"并没有呈现。为什么会这样,我该如何解决?我错过了一些基本的东西吗?

4

2 回答 2

3

puts向 STDOUT 或服务器运行的任何控制台输出一条语句。它不会插入到您的视图中,只会由您的服务器输出。

您根本不需要任何声明即可在此处评估 ERB。你可以这样做:

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

在Ruby on Rails 查看指南中查看有关 ERB 模板语言的更多详细信息。

于 2012-11-13T20:26:58.927 回答
3

不要使用看跌期权。用这个:

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

puts将字符串打印到标准输出并返回nil。这就是为什么您的课程没有呈现的原因。

更新

为避免转义,请在字符串前面加上raw

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

或者,如果这确实是您的代码(没有简化等),您可以这样做

<li class='active'>Link</li>
于 2012-11-13T20:26:16.497 回答