如何将jsonb顺序查询传递到sortable:Active Admin列的选项?
我的模型结构如下:
# User Model
class User < ActiveRecord::Base
has_one :level
end
# Level Model
class Level < ActiveRecord::Base
belongs_to :user
end
# Level Migration
create_table "levels", force: :cascade do |t|
t.integer "user_id"
t.jsonb "ranked_scores"
end
Run Code Online (Sandbox Code Playgroud)
该:ranked_scoreJSON结构是:
# level.ranked_scores
{"stage_1"=>111, "stage_2"=>222, "stage_3"=>333}
Run Code Online (Sandbox Code Playgroud)
我试图排序User使用Level的:ranked_scores属性如下:
# app/admin/user.rb
ActiveAdmin.register User do
controller do
def scoped_collection
end_of_association_chain.includes(:level)
end
end
index do
column "Stage 1 Score", sortable: "level.ranked_scores -> 'stage_1'" do |user|
user.level.ranked_scores['stage_1']
end …Run Code Online (Sandbox Code Playgroud)