Skip to content

Instantly share code, notes, and snippets.

@rakhmad
Forked from t2/application.rb
Created July 12, 2012 15:20
Show Gist options
  • Save rakhmad/3098829 to your computer and use it in GitHub Desktop.
Save rakhmad/3098829 to your computer and use it in GitHub Desktop.
Formatting Rails form elements for Twitter Bootstrap error validation
ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
html = %(<div class="field_with_errors">#{html_tag}</div>).html_safe
# add nokogiri gem to Gemfile
elements = Nokogiri::HTML::DocumentFragment.parse(html_tag).css "label, input"
elements.each do |e|
if e.node_name.eql? 'label'
html = %(<div class="clearfix error">#{e}</div>).html_safe
elsif e.node_name.eql? 'input'
if instance.error_message.kind_of?(Array)
html = %(<div class="clearfix error">#{html_tag}<span class="help-inline">&nbsp;#{instance.error_message.join(',')}</span></div>).html_safe
else
html = %(<div class="clearfix error">#{html_tag}<span class="help-inline">&nbsp;#{instance.error_message}</span></div>).html_safe
end
end
end
html
end
// Place all the styles related to the YourController controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
form .clearfix:before, form .clearfix:after {
display: inline;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment