如何在活动管理员中将值返回为已检查的check_box? [红宝石]

时间:2013-07-03 10:36:01

标签: ruby-on-rails ruby gem

我目前正在努力解决如何在编辑表单上的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但它对我不起作用。

1 个答案:

答案 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