2

我有以下路线:

resources :boilerplates
resources :projects do
  resources :boilerplates
end

Boilerplate模型如下所示:

class Boilerplate < ActiveRecord::Base
  scope :originals, -> { where(prototype_id: nil) }
end

我的控制器如下所示:

class BoilerplatesController < InheritedResources::Base
  load_and_authorize_resource
  belongs_to :project, optional: true
end

打开URL/boilerplates后,我想显示originals范围内的所有样板。

打开URL 时/projects/123/boilerplates,我希望originals范围不处于活动状态。

如何做到这一点?

4

1 回答 1

1

我只是自己找到了一种方法。在BoilerplatesController

protected

def collection
  if @project
    super
  else
    super.originals
  end
end
于 2015-08-09T13:21:06.480 回答