用户注册使用Devise的Rails 3.2.3应用程序后,会触发after_create回调,尝试创建组织记录。
如果此create
验证失败,我该如何显示错误消息?我应该覆盖设计控制器吗?事实上,错误与组织的创建有关,而不是用户(我有一个非常普遍的设计用户模型设置)。
我在用户模型中做了类似的事情:
# after_create callback method
...
unless new_org_user.save
errors.add("Warning", "Organisation is invalid" )
end
...
答案 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
这样,如果组织无效,它将无法通过验证