Вопрос

Есть конфликт с унаследованными_респортами и канем-драгоценным камнем Ryan Bates.

У меня есть какой-то простой контроллер

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 / Выпуски / тег / Tag1я понимаю

 ActiveRecord::RecordNotFound in IssuesController#tag

Couldn't find Issue without an ID

После удаления Load_and_authorize_Resource от контроллера - все работает нормально, но мне нужно контроль доступа.

Любая идея, как решить эту проблему?

Это было полезно?

Решение

использовать load_and_authorize_resource :except => :tag. Отказ Обратите внимание, что это не применит правила. Если вам нужно применить некоторое использование authorize! вместо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top