не используйте помощник по rails, чтобы делать ошибки, обычно у меня есть встроенные ошибки, поэтому что-то вроде:
def inline_error_block(obj, meth, prepend="", append="", klass="error error-form", &block)
content = capture(&block)
obj = (obj.respond_to?(:errors) ? obj : instance_variable_get("@#{obj}"))
if obj
errors = obj.errors.on(meth.to_s)
if errors
output = content_tag(:div, :class => klass) do
content_tag(:p, "#{prepend}#{errors.is_a?(Array) ? errors.first : errors}#{append}", :class => "error-msg clearfix") + content
end
return concat(output)
end
end
concat(content_tag(:div, content, :class => "no-error"))
end
имеет тенденцию делать трюки, но показывает только одну ошибку на поле формы,Я уверен, что вы можете изменить его, чтобы показать их все, если вам нужно! (errors.first to errors.each).
Чтобы получить полное имя, просто напишите сообщение с именем поля так, как вы хотите, чтобы оно отображалось:
validates_length_of :name, :minimum=>3, :message=>"Information should be longer than 3 characters!"