Ric*_*ard 14 validation nested propagation mongoid
我有一个定义如下的联系信息类:
class ContactInfo
include Mongoid::Document
validates_presence_of :name, :message => ' cannot be blank'
field :name, :type => String
field :address, :type => String
field :city, :type => String
field :state, :type => String
field :zip, :type => String
field :country, :type => String
embedded_in :user
end
Run Code Online (Sandbox Code Playgroud)
此联系信息类嵌入在我的用户类中的嵌套属性:
class PortalUser
include Mongoid::Document
accepts_nested_attributes_for :contact_info
end
Run Code Online (Sandbox Code Playgroud)
当我尝试保存没有名称的用户时,我收到如下错误消息:
联系信息无效
但是,这对最终用户来说不是很有用,因为他或她不知道哪些联系信息无效.REAL消息应为"名称不能为空".但是,此错误不会向上传播.有没有办法让user.errors中的'Name not not blank'消息而不是'Contact info is invalid'错误消息?
谢谢
Ric*_*ard 13
这是我最终提出的解决方案:
将这些行添加到用户类
after_validation :handle_post_validation
def handle_post_validation
if not self.errors[:contact_info].nil?
self.contact_info.errors.each{ |attr,msg| self.errors.add(attr, msg)}
self.errors.delete(:contact_info)
end
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4195 次 |
最近记录: |