Rails:需要帮助嵌套表单拒绝嵌套对象但仍然创建主对象

时间:2011-07-05 20:43:17

标签: ruby-on-rails-3 model nested-forms

我的用户模型中有以下内容

class User < ActiveRecord::Base
  has_many :gym_users

  attr_accessible :gym_users_attributes, :gym_users
  accepts_nested_attributes_for :gym_users, :reject_if => lambda { |a| a[:role_id].blank? }

end

如果gym_user不存在,这会正确拒绝role_id模型,问题是它仍然会创建用户并且只是不会 创建gym_user。当gym_user被拒绝时,有没有办法让它不创建或删除用户?

2 个答案:

答案 0 :(得分:0)

validates :gym_users, :presence => true添加到您的用户模型

答案 1 :(得分:0)

您可以添加

validates_associated :gym_users

到您的User模型并将验证从reject_if移至GymUsers模型

validates_presence_of :role_id