[PATCH conductor] BZ798550 fixed field_with_errors is by default generated by rails as a div, wchich breaks the layout because its put inside <p>. This patch forces rails to generate field_with_errors as span element.

jtomasek at redhat.com jtomasek at redhat.com
Wed Mar 14 13:55:15 UTC 2012


From: Jiri Tomasek <jtomasek at redhat.com>

http://www.rabbitcreative.com/2010/09/20/rails-3-still-fucking-up-field_with_errors/
---
 src/app/views/catalogs/_form.html.haml |    4 ++--
 src/config/application.rb              |    7 +++++++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/app/views/catalogs/_form.html.haml b/src/app/views/catalogs/_form.html.haml
index eb88f48..12d3bba 100644
--- a/src/app/views/catalogs/_form.html.haml
+++ b/src/app/views/catalogs/_form.html.haml
@@ -1,10 +1,10 @@
 - if @catalog.errors.any?
   = render 'layouts/error_messages', :object => @catalog
 %fieldset
-  %p
+  %p.clearfix
     = form.label :name
     = form.text_field :name, :class => 'em long'
-  %p
+  %p.clearfix
     = form.label :pool_id
     = form.select(:pool_id, @pools.collect{|p| [p.name, p.id]}, :prompt =>  t("catalogs.form.select_pool"))
 
diff --git a/src/config/application.rb b/src/config/application.rb
index 9c0949f..d1c2a7b 100644
--- a/src/config/application.rb
+++ b/src/config/application.rb
@@ -97,6 +97,13 @@ module Conductor
     # Configure sensitive parameters which will be filtered from the log file.
     config.filter_parameters += [:password, :password_confirmation]
 
+    #field_with_errors should be span instead of div
+    #http://www.rabbitcreative.com/2010/09/20/rails-3-still-fucking-up-field_with_errors/
+    ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
+      include ActionView::Helpers::RawOutputHelper
+      raw %(<span class="field_with_errors">#{html_tag}</span>)
+    end
+
     config.after_initialize do
       Haml::Template.options[:format] = :html5
     end
-- 
1.7.7.6




More information about the aeolus-devel mailing list