проверка связи has_many в зависимости от типа пользователя - PullRequest
0 голосов
/ 02 октября 2018

так что то, что я пытаюсь сделать, может быть очень простым, но я не могу обдумать это.У меня есть подписной пользователь и обычный пользователь.Обычным пользователям разрешено публиковать только 4 раза, в то время как текущему подписчику разрешено публиковать 10 раз.Ниже приведен код, который у меня есть сейчас, который отлично работает, но проверка работает только для всех типов пользователей.

  class Post < ApplicationRecord
    validate :validates_posts!, on: :create

    private

    def validates_posts!
       return if user.nil?
        if user.posts.count > 4
          errors.add(:base, 'Cannot add more than 4 Ads at a time')
        end
    end

1 Ответ

0 голосов
/ 02 октября 2018

Вы можете сделать что-то вроде этого:

 if user.role == 'role1' && user.posts.count > 4
    errors.add(:base, 'Cannot add more than 4 Ads at a time')
 elsif user.type == 'role2' && user.post.count > 10
    errors.add(:base, 'Cannot add more than 10 Ads at a time')
 end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...