after_create回调:flash消息

时间:2012-06-11 17:45:27

标签: ruby-on-rails callback devise

用户注册使用Devise的Rails 3.2.3应用程序后,会触发after_create回调,尝试创建组织记录。

如果此create验证失败,我该如何显示错误消息?我应该覆盖设计控制器吗?事实上,错误与组织的创建有关,而不是用户(我有一个非常普遍的设计用户模型设置)。

我在用户模型中做了类似的事情:

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

1 个答案:

答案 0 :(得分:0)

由于您在after_create回调中触发了事件,因此记录已成功创建,因此不会出现闪存消息。

为什么不尝试将其移至关系关联,并要求验证像

这样的孩子
class User < ActiveRecord::Base
  has_one :organization
  accepts_nested_attributes_for :organization
end

class Organization < ActiveRecord::Base
  belongs_to :user
end

这样,如果组织无效,它将无法通过验证