【问题标题】:How do I insert a line break into text loaded from yaml?如何在从 yaml 加载的文本中插入换行符?
【发布时间】:2012-04-27 05:03:57
【问题描述】:

我正在使用 Ruby v.1.8.7 和 Rails v.3.1.3 创建网站,并从 yml 文件加载页面上的文本。我在 <h3> 标记中有文本,但我希望将第三句放在单独的行上,而不必在 html 中进行显式检查。

例如,我有:

<h3><%= Settings.text_from_yml %></h3>

在我看来,text_from_yaml 看起来像:

This is the first sentence. This is the second. And lastly, the third.

在 yml 文件中。有没有办法可以在 yml 文件中的字符串中放置一个换行符,以保证第三句将在自己的行上?我尝试将&lt;br /&gt; 放在第三行之前,但这只会输出文本“&lt;br /&gt; And lastly, the third.

我也试过了

<h3><%= Settings.text_from_yml.html_safe %></h3>

但这并没有达到我想要的效果。有没有其他方法可以做到这一点?

【问题讨论】:

    标签: html ruby-on-rails ruby ruby-on-rails-3 yaml


    【解决方案1】:
    <h3><%= raw Settings.text_from_yml %></h3>
    

    【讨论】:

    • 不幸的是,这似乎也不是我想要的。它的作用与“html_safe”相同,并将换行符输出为字符串。
    • html_safe 和 raw 不一样。 html_safe 仅将字符串包装在 ActiveSupport::Safebuffer 中,而不是实际将字符串标记为安全。这是关于 html_safe 的好读物:techspry.com/ruby_and_rails/…
    猜你喜欢
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 2019-05-14
    • 1970-01-01
    • 2014-01-06
    • 2011-04-20
    相关资源
    最近更新 更多