2012-06-11 2 views
0

После того, как пользователь подписывается на мое приложение Rails 3.2.3, которое использует Devise, запускается обратный вызов after_create, который пытается создать запись Организации.after_create callback: флэш-сообщение

Если этот create не прошел проверку, как я могу получить сообщение об ошибке для отображения? Должен ли я переопределить контроллер разработки? Дело в том, что ошибки связаны с созданием Организации, а не с пользователем (и у меня есть симпатичная ванильная разработка модели User).

я делаю что-то вроде этого в модели пользователя:

# after_create callback method 
... 
    unless new_org_user.save 
     errors.add("Warning", "Organisation is invalid") 
    end 
... 

ответ

0

Поскольку вы обжиг события в after_create обратного вызова запись уже успешно создана так без вспышки сообщения не будет появляться.

Почему бы вам не попытаться переместить его в отношениях ассоциации вместо этого и требует валидации ребенка как

class User < ActiveRecord::Base 
    has_one :organization 
    accepts_nested_attributes_for :organization 
end 

class Organization < ActiveRecord::Base 
    belongs_to :user 
end 

Таким образом, если организация не действует она потерпит неудачу проверки