В Formtastic 2.x semantic_errors ВСЕГДА включает в себя: base.
Однако в Rails 3 (я в Rails 3.2) я заметил, что сообщения об ошибках от проверок больше не сохраняются в base, вместо этогохранится по атрибуту.Например, для этого класса:
class User < ActiveRecord::Base
# has a name attribute
validates :name, :presence => true, :uniqueness => true
end
Ваш объект @ user.errors при неудачном создании / обновлении будет выглядеть следующим образом:
#<ActiveModel::Errors:0x0000000
@base=#<User id:1, name: "">,
@messages={:name => ["can't be blank"]}>
Если бы вы делали свою форму похожейэто вывело бы ошибку для атрибута: name.
<%= semantic_form_for @user do |form| %>
<%= form.semantic_errors :name %>
...main body of form...
<% end %>
Это ложный пример, но вы понимаете, о чем я.
К сожалению, в базе данных formtastic ничего нетв настоящее время это поддерживает опцию «все» с Rails 3 (опять же, я использую Rails 3.2)