我认为你可以使用 rails 控制台重新排序它们。我选择使用 ID 输入字段,因为输入名称时更容易出现拼写错误
ids_in_order = [3, 7, 8, 5, 1, 2]
ids_in_order.each_with_index do |id, index|
UserField.find(id).update!(position: index)
end
我认为你可以使用 rails 控制台重新排序它们。我选择使用 ID 输入字段,因为输入名称时更容易出现拼写错误
ids_in_order = [3, 7, 8, 5, 1, 2]
ids_in_order.each_with_index do |id, index|
UserField.find(id).update!(position: index)
end
我不这么认为,但我最近编写了一个主题组件,它会隐藏用户卡片和个人资料页面上自定义字段的原始显示,然后再次渲染它们,可以选择使某些内容对 HTML 安全(他们正在通过 API 向用户无法编辑的自定义字段添加一些信息)。我认为可以使用相同的思路向自定义字段添加一个排序字段,以更改它们在卡片和/或个人资料上显示的顺序。
我认为您可以使用现有方法对用户字段进行重新排序。每次更改位置后都必须重新打开菜单,这有点不切实际。在移动到多个位置时,这会有些烦人。
但是,一个能让按钮始终可见的组件,或者顶部有一个用于“重新排序模式”的复选框使其在菜单外部可见,就可以改善这种体验了。
哦。真有趣。是的。哎呀。这比我的主意好多了。![]()
我有一个自定义字段,并已将其设置为可搜索。然而,在用户页面 /u 上,唯一的搜索框显示为“按用户名筛选”。当我搜索自定义字段的内容时,没有任何结果显示。
我可以在列表中看到这些值(我已在自定义器中启用了该列),因此可以确认这些值确实存在。
我哪里做错了?
奇怪的是,自定义字段的值是链接,例如 u?cards=no&name=Female&order=likes_received,点击后会针对 name 字段中的值执行搜索,但返回结果为空。
以下是该字段的偏好设置:
另外(不知这是否是一个线索),当我按该自定义字段列排序时,无论是升序还是降序,列表顶部总是会出现字段为空的Users(不同的用户)。只有少数用户在该字段中有内容,但我原本预期所有空值都应该在列表的顶部或底部,而不是两者都有。
在 Discourse 的自定义用户字段编辑器中逐一输入数十甚至数百个选项非常繁琐。我一直在开发一个名为 dsc 的多用途 Discourse 命令行工具,它利用本地文件让此类操作变得更加简便且具有确定性。操作自定义用户字段只是其众多功能之一。
dsc 可以从 YAML 文件创建新的自定义用户字段,并在单次操作中包含整个有序选项列表。ucf 命令是 user-field 的别名。
首先,列出你现有的自定义用户字段:
dsc ucf list myforum --format yaml
这将显示它们的 ID、类型、选项和设置。
创建 user-fields.yaml 文件,并将源 URL、问题描述和选项替换为你自己的内容。请确保你的 YAML 格式有效——这很容易出错。
例如,这是一个包含 25 个选项的国家多选字段:
version: 1
source: https://forum.example.org
user_fields:
- name: Countries
description: 你在哪些国家工作?请选择所有适用的选项。
field_type: multiselect
editable: true
requirement: on_signup
show_on_profile: false
show_on_signup: true
show_on_user_card: false
searchable: false
options:
- Argentina
- Australia
- Brazil
- Canada
- China
- Denmark
- Egypt
- France
- Germany
- India
- Ireland
- Italy
- Japan
- Kenya
- Mexico
- Netherlands
- New Zealand
- Nigeria
- Norway
- Singapore
- South Africa
- Spain
- Sweden
- United Kingdom
- United States
这会创建一个包含 25 个选项的字段,而不是 25 个独立的字段。你可以根据需要扩展列表——我曾成功使用此方法创建了一个拥有 250 多个选项的字段。
dsc ucf push --dry-run myforum user-fields.yaml
# 在应用之前审查计划及完整的 YAML 文件。
dsc ucf push myforum user-fields.yaml
dsc ucf show myforum <field-id> --format yaml
欢迎对 dsc 提供反馈,包括对缺失功能的建议。请在 GH 代码库上创建 Issue。