Formtastic/ActiveAdmin 为 select 输入设置默认值

Formtastic/ActiveAdmin set a default value for a select input

我正在 ActiveAdmin 中开发一个自定义表单,我决定将其用于 adding/editing 以遵循 DRY 原则,因此如果用户使用它来编辑记录,我需要填充它(这不是数据库记录)。

所以问题是我有这些输入:

f.input :model_id, as: :select, collection: Model.all.map { |m| [m.id.to_s + ' - ' + m.name, m.id] }, input_html: { required: true }
f.input :enabled, as: :select, collection: {'Yes': true, 'No': false}, input_html: { required: true }

如果我使用表单进行编辑,我想为它们设置一个默认值,但我不知道如何设置,因为每个人都在谈论使用 belongs_to 或数据库关系,并且 ActiveAdmin 将为您处理默认值,这不适用于我的情况,因为它不是数据库记录,而且我没有 ActiveRecord Model

甚至 Formtasticofficial docs 也没有帮助。

我找到了解决方法,这里是所有遇到相同问题的人的答案:

f.input :model_id, collection: Model.all.map { |m| [m.id.to_s + ' - ' + m.name, m.id] }, selected: object.model_id
f.input :enabled, collection: { 'Yes': true, 'No': false }, selected: object.enabled