Rails Administrate:详情视图中按delegates.name排序关联记录
解决方案
修改
attend_dashboard.rb中的ATTRIBUTE_TYPES配置,给delegates字段添加自定义排序规则:
将原本的delegates: Field::BelongsTo替换为带sortable选项的配置,指定按关联模型的name字段排序:ATTRIBUTE_TYPES = { id: Field::Number, delegates: Field::BelongsTo.with_options(sortable: 'delegates.name'), attended: Field::Boolean }.freeze确认
COLLECTION_ATTRIBUTES中已包含delegate列(当前配置已经满足),无需额外修改:COLLECTION_ATTRIBUTES = %i[ delegate attended ].freeze
完成以上修改后,点击Conference详情页里Attend列表的Delegate列排序链接时,就会默认按照Delegate的name字段排序,而非默认的id字段。
如果你的Delegate模型中存储名称的字段不是name,请把代码里的delegates.name替换为实际字段名(比如delegates.full_name)。
内容的提问来源于stack exchange,提问作者Trần Đạt
相关产品推荐
相关产品推荐

