0

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

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

我在用户模型中做这样的事情:

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

1 回答 1

0

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

为什么不尝试将其移至关系关联并要求验证孩子喜欢

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

class Organization < ActiveRecord::Base
  belongs_to :user
end

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

于 2012-06-11T18:19:50.930 回答