Rails f.error_messages всегда пустые - PullRequest
1 голос
/ 05 марта 2010

Что я сделал :)?В рельсах форма f.error_messages всегда пуста.Как я могу это исправить / проверить?Thx

Ответы [ 2 ]

1 голос
/ 05 марта 2010

Метод AR # validate заполняет хэш ошибки модели ошибками проверки.
Если между созданием экземпляра модели и вызовом f.error_messages вы не вызываете validate (через AR # save или напрямую), хеш @errors никогда не заполняется и ошибки не отображаются).
Также убедитесь, что вы не перенаправляете (проверенный объект теряется, а новый создается и не имеет «заполненного» хэша @errors), но вызываете render :action => ...

1 голос
/ 05 марта 2010

Вы ищете error_messages_for : модель?

После проверки эта функция создаст список сообщений об ошибках для вашего просмотра.

Например:

# users_controller.rb

def create
  @user = User.new(params[:user])
  if @user.save
     redirect_to @user
  else
     render :action => 'new'
  end
end

# view/users/new.html.erb

<%= error_messages_for :user %>

<% form_for @user do |f| %>
  ...
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...