【问题标题】:Ruby on Rails form helpers are being escaped when they have errorsRuby on Rails 表单助手在出现错误时被转义
【发布时间】:2011-01-08 16:03:17
【问题描述】:

我使用的是 Rails 2.3.9,并且已经安装了 rails_xss 插件。我已经制作了所有需要 html_safe 的东西,但是当表单助手验证失败时,我刚刚注意到一个问题。当我输入错误的电子邮件地址并且验证失败时,我会在浏览器中看到以下内容:

<span class="fieldWithErrors"><label class="concise" for="user_session_email">Email Address:</label></span> <span class="fieldWithErrors"><input class="txt" id="user_session_email" name="user_session[email]" size="30" type="text" value="not_a_proper_email_address" /></span

我猜这与 rails_xss 有关,但我不知道如何解决。谢谢

【问题讨论】:

    标签: ruby-on-rails html-safe


    【解决方案1】:

    好吧,我似乎已经解决了添加到 environment.rb 中的这个 hack 的问题

    ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
      '<span class="field_with_errors">'.html_safe << html_tag << '</span>'.html_safe
    end
    

    这是一个错误吗?这真的是最好的解决方法吗??

    【讨论】:

    • 是的,我也必须这样做。 2007 年发布了一个针对 Rails 的错误,但它位于旧的错误跟踪系统上,并且指向它的链接不再有效。请参阅ethilien.net/archives/… - 错误链接在 cmets 中。
    猜你喜欢
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 2015-03-03
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多