大家好,目前正在使用几个相互关联的模型。这些协会工作得很好,但我试图限制可以属于护理团队模型的用户数量,我尝试了下面的验证方法,它似乎没有引发任何错误或任何东西。用户可以继续将自己添加到我试图限制数量的团队中。有任何想法吗?
用户.rb
class User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable, :confirmable
validates_presence_of :phone, :city, :state, :street, :zip, presence: true, on: :create
belongs_to :care_team, optional: true
end
Run Code Online (Sandbox Code Playgroud)
护理团队.rb
class CareTeam < ApplicationRecord
NUMBER_OF_PERMITTED_USERS = 3
belongs_to :user, optional: true
has_many :users
validate :validate_user_limit
private
def validate_user_limit(user)
raise Exception.new if users.count > NUMBER_OF_PERMITTED_USERS
end
end
Run Code Online (Sandbox Code Playgroud)