这与inherited_resources和Ryan Bates的cancan宝石有冲突。
我有一些简单的控制器
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/issues/tag/tag1时,我发现
ActiveRecord::RecordNotFound in IssuesController#tag
Couldn't find Issue without an ID从控制器中删除load_and_authorize_resource后-一切正常,但我需要访问控制。
你知道怎么解决这个问题吗?
发布于 2010-10-25 03:52:13
使用load_and_authorize_resource :except => :tag。请注意,这不会应用规则。如果您需要应用一些,请改用authorize!。
https://stackoverflow.com/questions/4010054
复制相似问题