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



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

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

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

您可以添加

validates_associated :gym_users

User模型,并将验证从reject_if移动到GymUsers模型

validates_presence_of :role_id

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

最新更新