11

次のような2つのスコープを持つActiveAdminモデルがあるとします。

ActiveAdmin.register Book do

  scope :all, default: true
  scope :smith #all books by author 'smith'

  index do
    column :title
    column :published_year
    column :author
  end
end

ユーザーが「smith」スコープを選択したときに「author」列が必要ない/必要ありません。

では、現在のスコープにアクセスして、スコープの1つに作成者列のみを表示する方法はありますか?この例では、カスタムビューを使用してデータの実際のコンテンツを確認できると思いますが、もっと簡単でより良い方法があることを望んでいます。

4

2 に答える 2

23

あなたはそのようなことを試すことができます

index do
    column :title
    column :published_year
    column :author unless params['scope'] == 'smith'
  end
于 2012-12-17T00:03:46.610 に答える
4

@current_scopeオブジェクトにもアクセスでき、@ current_scope.scope_methodを実行して、基になるスコープメソッドを取得できます。

于 2016-04-26T15:12:17.730 に答える