如何在创建子模型对象期间验证父模型属性?

时间:2011-06-21 13:32:45

标签: ruby-on-rails

我有一个带有可选字段的父模型(用户) - first_name,last_name和必填字段 - 电子邮件和密码。我有一个子模型(预订),'belongs_to'到'User'和'accepts_nested_attributes_for:user'。我的问题是,无论何时创建预订对象,我都需要验证正在创建/更新的用户是否存在first_name和last_name。基本上,人员在创建预订对象时需要输入first_name和last_name。我在许多其他地方使用'用户'模型作为父模型,但我不想在'用户'模型中添加验证。我希望在“预订”模型中进行验证。 我该如何做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您使用validates_associated,它将验证关联的模型

class Booking
  belongs_to :user

  validates_associated :user
end

额外信用:http://rpheath.com/posts/412-a-better-validates-associated用于获取错误消息,而不是“用户无效”