小编kev*_*pez的帖子

Rails has_many 模型验证

大家好,目前正在使用几个相互关联的模型。这些协会工作得很好,但我试图限制可以属于护理团队模型的用户数量,我尝试了下面的验证方法,它似乎没有引发任何错误或任何东西。用户可以继续将自己添加到我试图限制数量的团队中。有任何想法吗?

用户.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)

validation model ruby-on-rails

2
推荐指数
1
解决办法
2211
查看次数

标签 统计

model ×1

ruby-on-rails ×1

validation ×1