سؤال

هناك صراع مع الوراثة وريان بيتس كامب.

لدي بعض وحدة التحكم البسيطة

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/acments/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! في حين أن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top