我目前正在努力解决如何在编辑表单上的ruby上的active_admin gem中将数组值作为复选框返回的问题。
它成功编辑了值并更新了当前使用has且属于表关系的数组。但每次返回页面时,复选框都返回而没有复选框。
这是代码。
f.input :additional_toppings, collection: AdditionalTopping.all.map{|t| [t.name, t.id]},
as: :check_boxes, filter: food.additional_toppings
我确实尝试使用:checked
,但没有成功。
并且我想知道活动管理员是否可以显示只读值,有些人说使用:disabled => true
但它对我不起作用。
答案 0 :(得分:5)
好的,我找到了答案,这一点特别简单。 (终于好几天了)
我要做的就是删除集合,并将过滤器更改为已选中。
我还将additional_toppings
更改为additional_topping_ids
以返回数组,我还添加了accessible
属性。
以下是代码:
f.input :additional_toppings, as: :check_boxes, checked: food.additional_topping_ids
attr_accessible :name, :price, :quantity, :picture, :category_id, :info , :favourite, :weekly, :unlimited, :toppings, :tag_list, :additional_topping_ids
has_many :categorizations
has_many :additional_toppings, :through => :categorizations