Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails\u admin中作为筛选器的作用域_Ruby On Rails_Ruby_Scope_Rails Admin - Fatal编程技术网

Ruby on rails rails\u admin中作为筛选器的作用域

Ruby on rails rails\u admin中作为筛选器的作用域,ruby-on-rails,ruby,scope,rails-admin,Ruby On Rails,Ruby,Scope,Rails Admin,我正在我的应用程序中使用rails_admin。我的模型上有一些作用域,下面是一个示例: class User < ActiveRecord::Base scope :unconfirmed, where('confirmed_at IS NULL') end class用户

我正在我的应用程序中使用rails_admin。我的模型上有一些作用域,下面是一个示例:

class User < ActiveRecord::Base

  scope :unconfirmed, where('confirmed_at IS NULL')

end
class用户
在rails_admin中是否可以作为过滤器访问这些范围?就像你可以在主动管理。比如在“用户”部分的某个位置添加一个按钮


谢谢

通过添加自定义rails\u管理操作,我成功地做到了这一点

更多详情:

例如:

# in lib/rails_admin/unconfirmed.rb

require 'rails_admin/config/actions'
require 'rails_admin/config/actions/base'

module RailsAdminUnconfirmed
end

module RailsAdmin
  module Config
    module Actions

      class Unconfirmed < RailsAdmin::Config::Actions::Base
        RailsAdmin::Config::Actions.register(self)

        register_instance_option :controller do
          Proc.new do
            @objects = User.unconfirmed
            render "index"
          end
        end

        register_instance_option :collection do
          true
        end
      end
    end
  end
end

此新操作将出现在用户模型的索引级别。

我知道这是一个非常老的问题,但有人将我重定向到此线程。 您可以通过如下配置rails_admin轻松实现这一点

#/config/initializers/rails\u admin.rb
config.model用户权限
列出要做的事
作用域[无,:未确认]
结束
结束
这将在列表顶部插入两个选项卡,分别标记为Allunconfirm,并在相应选项卡中过滤记录。单击这些选项卡将触发一个应用自定义范围的查询


希望有帮助。

你想做什么?这正是您所要做的。这是不需要的,只需在模型中创建一个作用域并使用rails管理配置代码即可-
# in config/initializers/rails_admin.rb
# require File.join(Rails.root, "lib", "rails_admin", "unconfirmed")

RailsAdmin.config do |config|
  config.actions do
    # root actions
    dashboard
    # collection actions
    index
    unconfirmed do
      only 'User'
    end
  end
  # snip!
end