user3521008
user3521008

Reputation: 93

How to limit a model in rails?

Well I have a model call Group.

I want add a validation that prevents more than 8 groups

Help me please

class Group < ActiveRecord::Base
    validates :name, :presence => true
    validates :name, :uniqueness => true
    validates :name, :length => { :is => 1 }
    validates :name, :format => { :with => /\A[A-Z]+\z/, :message => "Grupo Invalido" }
end

Upvotes: 2

Views: 101

Answers (1)

arieljuod
arieljuod

Reputation: 15838

Try this:

class Group < ActiveRecord::Base
    validates :name, :presence => true
    validates :name, :uniqueness => true
    validates :name, :length => { :is => 1 }
    validates :name, :format => { :with => /\A[A-Z]+\z/, :message => "Grupo Invalido" }
    validate :max_count, on: :create

    def max_count
      errors.add(:base, 'Max group count limit reached') if Group.count >= 8
    end
end

Upvotes: 1

Related Questions