【问题标题】:ruby 'html_safe' in select_tag what is this? [duplicate]select_tag 中的 ruby​​ 'html_safe' 这是什么? [复制]
【发布时间】:2014-11-06 23:01:04
【问题描述】:

我是一名新手 ruby​​ 开发人员。

<%= select_tag "access", "<option>Read</option><option>Write</option>".html_safe, multiple: true, class: 'form_input'%>

'html_safe'

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    html_safe 在这里实际使用字符串中的 HTML 标记作为实际的 HTML。

    例如:

    • "&lt;p&gt;Hello&lt;/p&gt;".html_safe 实际上会打印一个 HTML 标签 p 包装字符串 "Hello"
    • "&lt;p&gt;Hello&lt;/p&gt;" 将在页面内输出"&lt;p&gt;Hello&lt;/p&gt;"&amp;lt;p&amp;gt; 标签不被评估为 HTML)

    在您的情况下"&lt;option&gt;Read&lt;/option&gt;&lt;option&gt;Write&lt;/option&gt;".html_safe 将输出两个带有“读取”和“写入”的选项 HTML 标记。


    更好的方法为选择生成选项是...options_for_select:

    select_tag 'access', options_for_select(['Read', 'Write'])
    

    【讨论】:

    • 值得一提的是,在不安全模式下,默认情况下,所有 HTML 特定字符都将转义为其实体等效项。那就是&amp;lt;p&amp;gt;变成&amp;lt;p&amp;gt;
    • 哇...非常感谢!!@MrYoushiji 明白了谢谢!!
    • 感谢您的教学@tadman
    猜你喜欢
    • 1970-01-01
    • 2013-01-31
    • 2012-08-15
    • 1970-01-01
    • 2011-07-27
    • 2021-07-12
    • 2014-10-15
    • 2013-08-24
    • 2012-05-22
    相关资源
    最近更新 更多