Возможность извлечения пользователей с разными ролями в Mongoid (неопределенный метод to_criteria для # <Array>) - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь определить область действия в моей модели User на Mongoid для выборки пользователей с ролью manager или supervisor .

Для реализации функциональности ролейЯ использовал rolify gem (https://github.com/RolifyCommunity/rolify).

Согласно официальной документации по драгоценным камням (https://github.com/RolifyCommunity/rolify#class-level) Я использую with_any_role метод следующим образом:

scope :managers_and_supervisors, -> { with_any_role(:manager, :supervisor) }

но при попытке использовать ту же область в консоли rails я получаю неопределенный метод `to_criteria 'для массива , как показано ниже:

1.9.3-p551 :001 > User.managers_and_supervisors
NoMethodError: undefined method `to_criteria' for #<Array:0x0000000e9c3d40>

, но если я пытаюсь напрямуючтобы вызвать метод with_any_role в консоли rails следующим образом:

1.9.3-p551 :002 > User.with_any_role(:manager, :supervisor)

, он работает нормально.

Мне нужны предложения по исправлению определения области, чтобы пользователи могли выбрать менеджер или руководитель роль.

1 Ответ

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

Попробуйте обновить вашу версию ruby.Из вашей консоли выводится, что вы работаете 1.9.3.Из их github:

Requirements
Rails >= 4.2
ActiveRecord >= 4.2 or Mongoid >= 4.0
supports ruby 2.2+, JRuby 1.6.0+ (in 1.9 mode) and Rubinius 2.0.0dev (in 1.9 mode)

Вам также может понадобиться обновить Rails, если вы используете Rails ~ 3

...