2015-05-27 3 views
3

У меня есть следующий хэш:Использование хэш в качестве источника для collection_check_boxes

FIELD_LIST = { 
    -1 => 'User', 
    -2 => 'Duration', 
    -3 => 'Price', 
    -4 => 'Invoiced' 
} 

Я хочу использовать это с collection_check_boxes.

В пособии говорится:

The: value_method и: параметры text_method метода, чтобы назвать каждый член коллекции.

Так что я попытался это:

= f.collection_check_boxes TimesheetReport::FIELD_LIST, [0], [1], :input_html => { :class => 'checkbox' } 

Но это дает мне ошибку.

Как можно использовать хеш для ввода флажков?

ответ

4

Собственно, это возможно. Хэш - это технически совокупность объектов. Вы можете сделать что-то вроде этого:

= f.collection_check_boxes :field_name, TimesheetReport::FIELD_LIST, :first, :last, :input_html => { :class => 'checkbox' } 

Replace :field_name с реальным именем вашего атрибута, где вы хотите сохранить эти данные. Он должен работать.

+0

Отлично! Это действительно отлично! Благодарю. – rept

+0

О, я забыл, что вы можете это сделать. Отличное решение! – smathy