J'ai une application Rails 4.2.7 avec rails_admin (0.8.1), pundit (1.1.0) et mongoid (5.1.4)Méthode non définie `to_criteria 'avec Rails 4.2.7, Pundit, Mongoid et RailsAdmin
J'ai créé Campagne échafaudage et ajouté authorize @campaign
à set_campaign
dans CampaignController. quand je passe en revue à http://localhost:3000/campaigns/57b34dd3f5740c23d3066e43 je reçois unable to find policy
CampaignPolicy for <Campaign _id ...
J'ai couru rails g pundit:policy campaign
pour créer CampaignPolicy et montrer maintenant fonctionne action. Mais quand je passe en revue à RailsAdmin http://localhost:3000/admin/campaign je reçois:
undefined method `to_criteria' for Campaign:Class
lib/mongoid/criteria.rb merge! method
I "résolu" en modifiant Portée à l'intérieur CampaignPollicy comme ça, mais je me demande s'il y a une meilleure solution
class CampaignPolicy < ApplicationPolicy
def show?
true
end
class Scope
attr_reader :user, :scope
def initialize(user, scope)
@user = user
@scope = scope
end
def resolve
end
end
end