ActiveAdmin中的Ruby on Rails定制资源检索

时间:2019-02-22 10:32:26

标签: ruby-on-rails ruby activeadmin

我有一个页面,我想在其中自定义页面的整个默认sql语句。因此,与活动管理员文档中的示例https://activeadmin.info/2-resource-customization.html#customizing-resource-retrieval不同的是,它们只是在其中添加条件,我希望能够执行自定义sql语句。有可能吗?

我要显示的表由以下SQL语句建模

select driver_id, order_type_cd, start_region, ARRAY_AGG(region_id) from driver_region_preferences group by driver_id, order_type_cd, start_region;

任何见识将不胜感激!

1 个答案:

答案 0 :(得分:1)

将此添加到admin / driver_region_preference.rb

  controller do
    def scoped_collection
      end_of_association_chain.select('driver_id, order_type_cd, start_region, ARRAY_AGG(region_id)').group('driver_id, order_type_cd, start_region')
    end
  end

但是请注意分组,在某些数据库上它的工作方式有所不同。