0

Il existe un conflit avec inherited_resources et gem cancan de Ryan Bates.inherited_resources et le conflit cancan

J'ai quelques simple contrôleur

class IssuesController < InheritedResources::Base 
    respond_to :html 

    load_and_authorize_resource 

    def tag 
    @issues = Issue.tagged_with(params[:tag]).recent.paginate(:page => params[:page]) 
    end 

    protected 

    def collection 
    @issues = end_of_association_chain.recent.paginate(:page => params[:page], :per_page => Settings.per_page_defaults.issues) 
    end 
end 

et itinéraire

resources :issues do 
    collection do 
     get "tag/:tag" => "issues#tag", :as => "tags" 
    end 
    end 

Tout semble correct, mais la tentative de demander http://localhost:8080/issues/tag/tag1 je vois

ActiveRecord::RecordNotFound in IssuesController#tag 

Couldn't find Issue without an ID 

Après avoir retiré load_and_authorize_resource du contrôleur - tout Hing fonctionne bien, mais j'ai besoin d'un contrôle d'accès.

Une idée de comment résoudre ce problème?

Répondre

1

utilisez load_and_authorize_resource :except => :tag. Notez que cela ne va pas appliquer les règles. Si vous avez besoin d'appliquer un peu d'utilisation authorize! à la place.

+0

Merci !!! Ça marche :) –