Ruby on rails 活动管理员:自定义复选框输入
我需要显示一个动态的值列表,以在活动的管理员编辑屏幕上显示为复选框,该列表来自代码(而不是数据库)。我可以很容易地做到这一点,但我不知道如何将其中一些显示为正在检查 下面是一个我正在尝试做的简化示例:Ruby on rails 活动管理员:自定义复选框输入,ruby-on-rails,activeadmin,Ruby On Rails,Activeadmin,我需要显示一个动态的值列表,以在活动的管理员编辑屏幕上显示为复选框,该列表来自代码(而不是数据库)。我可以很容易地做到这一点,但我不知道如何将其中一些显示为正在检查 下面是一个我正在尝试做的简化示例: names = %w(Sam Darcy Ernie) pairs = Hash[names.zip(names)] f.input :buddies, as: :check_boxes, collection: pairs, checked: %w(Sam) 我希望的是显示3个复选框并选中“S
names = %w(Sam Darcy Ernie)
pairs = Hash[names.zip(names)]
f.input :buddies, as: :check_boxes, collection: pairs, checked: %w(Sam)
我希望的是显示3个复选框并选中“Sam”复选框。但是没有一个被检查。如何控制选中的复选框?我最终得到了以下功能:
people = [
['Sam', 0, checked: true],
['Darcy', 0],
['Ernie', 0],
]
f.input :buddies, as: :check_boxes, collection: people
前2个之外的数组项似乎用于设置属性。因此,在我的例子中,设置了“checked”属性,导致元素属性为checked=“checked”
我仍然有兴趣知道是否有更好的方法来处理这个问题。你可以很容易地用javascript设置Sam检查,但要知道Sam是否在随后的编辑屏幕上被故意检查是很困难的,这真的需要作为:has__许多关系来管理。@MikeK。谢谢,我希望AA的复选框支持在页面呈现上设置“checked”属性。正如您所提到的,has_many是理想的,但是当我这样做时,我只能迭代并显示已经保存的内容,而不能显示尚未关联为好友的名称。