【问题标题】:html_safe with undefined fields带有未定义字段的 html_safe
【发布时间】:2011-03-29 14:40:26
【问题描述】:

我有一个不需要的字段,即可以为零。我想在我看来使用 ffg: myfield.html_safe 。这不适用于没有 myfield 的项目。我得到一个例外,我如何让 html_safe 仅在定义该字段的情况下应用?谢谢

【问题讨论】:

    标签: ruby-on-rails html-safe


    【解决方案1】:

    在 Rails 中,您可以使用

    myfield.try(:html_safe)
    

    文档:http://api.rubyonrails.org/classes/Object.html#method-i-try

    【讨论】:

      【解决方案2】:

      myfield.html_safe if myfieldmyfield.to_s.html_safe

      【讨论】:

      • 如果您尝试执行 nil.to_s,您会在这里遇到异常
      • @Yule 不按照rubydocs on NilClass
      • to_s.html_safe 似乎工作,没有抛出异常。出于好奇,为什么转换 to_s 会有所作为? nil.html_safe 无效吗?
      • Nil 类只有几个基本方法,其中一些是转换为整数或字符串的能力。通过使用.to_s,您实际上是将nil 转换为String 类,此时您可以使用Rails 添加的任何String 方法,例如html_safe
      【解决方案3】:

      应该这样做...

      myfield.html_safe unless myfield.blank?
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-27
        • 2016-10-23
        • 2020-03-11
        相关资源
        最近更新 更多