我有一个 html.erb 文件,其中有 html 代码。我插入了这段 ruby 代码
<li <%= puts "class='active'" %>>Link</li>
但是当我在 Rails 服务器上运行代码时,class="active"
并没有呈现。为什么会这样,我该如何解决?我错过了一些基本的东西吗?
我有一个 html.erb 文件,其中有 html 代码。我插入了这段 ruby 代码
<li <%= puts "class='active'" %>>Link</li>
但是当我在 Rails 服务器上运行代码时,class="active"
并没有呈现。为什么会这样,我该如何解决?我错过了一些基本的东西吗?
puts
向 STDOUT 或服务器运行的任何控制台输出一条语句。它不会插入到您的视图中,只会由您的服务器输出。
您根本不需要任何声明即可在此处评估 ERB。你可以这样做:
<li <%= "class='active'" %>>Link</li>
在Ruby on Rails 查看指南中查看有关 ERB 模板语言的更多详细信息。
不要使用看跌期权。用这个:
<li <%= "class='active'" %>>Link</li>
puts
将字符串打印到标准输出并返回nil
。这就是为什么您的课程没有呈现的原因。
为避免转义,请在字符串前面加上raw
<li <%= raw "class='active'" %>>Link</li>
或者,如果这确实是您的代码(没有简化等),您可以这样做
<li class='active'>Link</li>