>我的用户模型中有以下内容
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
添加到您的用户模型中