Exibindo erros de estilo formtastic para ckeditor no aplicativo Ruby on Rails

Se você estiver usando o formtastice ckeditorgems em seu aplicativo, provavelmente notou que, em caso de falha na atualização / criação, todos os campos normais são delimitados por uma linha vermelha e os erros são exibidos para eles. Infelizmente, seus campos ckeditor não se comportam dessa forma … Para fazer funcionar, você pode adicionar este pequeno método a application_helper.rb:

def ckeditor_input(form, field)
result
= form.cktext_area field
if form.object.errors.has_key?(field)
errors
= '<div class="control-group error"><span class="help-inline">'
errors
+= form.object.errors[field]*", "
errors
+= '</span></div><br/>'
return ("<div class='ck_error'>".html_safe) + result + ("</div>#{errors}".html_safe)
end
result

end

e adicione alguns estilos, por exemplo:

.ck_error {
border
-color: $red;
color
: $red;
vertical
-align: 3px;
.help-inline {
padding
-left: 160px;
}
}

Agora na visualização você pode usar ckeditor_inputassim:

= semantic_form_for @note do |f|
= f.input :title
= ckeditor_input(f, :content)
= f.action :submit