senasited_resources和Cancan冲突
-
25-09-2019 - |
题
与继承的resources和Ryan Bates的Cancan Gem发生了冲突。
我有一些简单的控制器
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
和路线
resources :issues do
collection do
get "tag/:tag" => "issues#tag", :as => "tags"
end
end
一切看起来都正确,但是试图要求 http:// localhost:8080/essign/tag/tag1我明白
ActiveRecord::RecordNotFound in IssuesController#tag
Couldn't find Issue without an ID
从控制器中删除LOAD_AND_AUTHORIZE_RESOURCE之后 - 一切正常,但是我需要访问控制。
知道如何解决这个问题吗?
解决方案
利用 load_and_authorize_resource :except => :tag
. 。请注意,此不应用规则。如果您需要应用一些用途 authorize!
反而。
不隶属于 StackOverflow