html - 在 Controller 中生成下标并传递给 View

标签 html ruby-on-rails

在 Controller 中,我可以将字符串传递给 View 。

如何传递带下标的字符串?

在 html 中很简单,只需使用 <sub>标签。

我尝试了3次将这个下标传递给view但是失败了。

  1. 如果我通过 <sub>在字符串中,它将显示 I<sub>tag</sub>而不是我标记
  2. 如果我使用 string1="string"+<sub>+"tag"+</sub> ,并通过 string1 , Controller 会报错!
  3. 最后,我尝试直接在页面中复制下标字符串,我 也出现无法显示的错误。

如何传递下标字符串来查看?我必须循环不同的条件,所以我不能每次都使用 <sub>标记,我需要从 Controller 传递。

编辑:

我在 Controller 中试过这段代码

  @valuedisplay=@value.to_s + " m/s<sup>2</sup>".html_safe

按照建议的解决方案,我得到:

what shows up in web page

正如我在第一次尝试时所说的那样,显示<sup>而不是 m2

如果我在 View 中做,我有很多不同类型的数据,我需要根据不同的类型在 View 中添加检查数据类型的代码,它是可行的但会使 View 变得困惑,我觉得应该有一个简洁的方法来在 Controller 中解决?

最佳答案

您需要在您的 View 中安全地呈现 HTML,为此,您需要调用 html_safe在你的字符串上运行:

@str = "I<sub>tag</sub>".html_safe

而且,现在当你通过这个 @str在您看来,它将呈现 @str正如预期的那样。

在 View 中:

<%= @str %>

注意:

这样做是非常糟糕的做法。 <sub>ag</sub>属于 View ,所以应该在 View 中。您可以执行以下操作:

在 Controller 中:

@str = "tag"

在 View 中:

I<sub><%= @str %></sub>
<%# or %>
<%= "I<sub>#{@str}</sub>" %>

关于html - 在 Controller 中生成下标并传递给 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31203371/

相关文章:

javascript - 如何在禁用键码后允许选项卡

javascript - 流重定向后确定 JavaScript 中 <audio> 标记的来源

ruby-on-rails - 在 Rails 3 中渲染 markdown 文本

ruby-on-rails - 如何在自定义 gem 中使用 ActiveRecord?

ruby-on-rails - 带有 Rails API 的 Ember POST 405(不允许)

ruby-on-rails - 为什么包含 Rescuable 模块不起作用?

javascript - 在 div 中以 html 表格格式显示 Angular 获取响应

html - 使用 bootstrap col 时图像左右两侧的空白

ruby-on-rails - 为什么使用实例变量重定向会将您带到显示 View (登录)

html - 导航栏故障