我有以下哈希:
FIELD_LIST = {
-1 => 'User',
-2 => 'Duration',
-3 => 'Price',
-4 => 'Invoiced'
}
我想将它与collection_check_boxes一起使用。
在手册中说:
:value_method和:text_method参数是要在集合的每个成员上调用的方法。
所以我尝试了这个:
= f.collection_check_boxes TimesheetReport::FIELD_LIST, [0], [1], :input_html => { :class => 'checkbox' }
但这给了我一个错误。
如何使用哈希作为输入来生成复选框?
答案 0 :(得分:5)
实际上,这是可能的。 Hash在技术上是一个对象的集合。你可以这样做:
= f.collection_check_boxes :field_name, TimesheetReport::FIELD_LIST, :first, :last, :input_html => { :class => 'checkbox' }
将:field_name
替换为要存储此数据的属性的实际名称。它应该工作。