2011-01-08 10 views
0

Ich verwende Rails 2.3.9 und habe das rails_xss-Plugin installiert. Ich habe alles gemacht, was html_safe sein muss, habe aber gerade ein Problem bemerkt, wenn ein Formular-Helper die Validierung nicht besteht. Wenn ich eine falsche E-Mail-Adresse eingeben, und es scheitert Validierung, erhalte ich die folgend in meinem Browser:Ruby on Rails-Formular-Helper werden bei Fehlern mit Escapezeichen versehen

<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 

Ich denke, dies ist mit rails_xss zu tun, aber ich weiß nicht, wie man es beheben. Dank

Antwort

1

Nun, ich scheinen das Problem mit diesem Hack haben feste hinzugefügt

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

Ist das ein Fehler environment.rb? Ist das wirklich die beste Lösung?

+1

ja, das musste ich auch machen. Im Jahr 2007 wurde ein Bug gegen Rails gepostet, aber es war auf dem alten Bug-Tracking-System und der Link dazu funktioniert nicht mehr. siehe http://ethilien.net/archives/fixing-divfieldwitherrors-in-ruby-on-rails/ - der Buglink ist in den Kommentaren. – ffoeg