在activeadmin控制器中,我想从索引中排除所有名为is_private的布尔字段设置为true的照片。
我不知道怎么做。
下面的代码让我接近我想要的:

ActiveAdmin.register Photo do
 scope ("public"){ |scope| scope.where(is_private: false) }

ruby-on-rails - ActiveAdmin:在 bool 字段上创建范围-LMLPHP
这就创建了一个“公共”按钮,我可以按它来过滤掉所有的私人照片。但是,我希望此筛选自动进行。我不想出现一个按钮,我希望默认情况下隐藏所有私人照片(对于某些用户)。
我如何在这个布尔字段上确定我的照片的范围(:is_private)?

最佳答案

你想要的是设置默认的过滤器,所以这里是你需要在activeadmin控制器中做的事情

  controller do
    before_filter only: :index do
      params[:q] = {is_private_eq: 0} if params[:commit].blank?
      # or this might work for you
      # params[:q] = {is_private: 0} if params[:commit].blank?
    end
  end

关于ruby-on-rails - ActiveAdmin:在 bool 字段上创建范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33314101/

10-12 05:38