Mongoid и simple_form, тип Boolean не создает флажок
Я начинаю с mongoid и simple_form. Если у меня есть модель с: type = > Boolean и визуализировать ее в представлении (haml) с = f.input, он создает поле ввода текста, а не флажок.
Документ говорит, что булевы сопоставления с флажком, но я подозреваю, что логические и булевы не обрабатываются одинаково.
Я могу работать с добавлением: as = > boolean к simple_form.
1) Является ли это ожидаемым, или я делаю что-то неправильно?
2) Есть ли способ добавить общее отображение булевой в simple_form?
3) Должен ли я создать проблему для simple_form, чтобы исправить это?
Спасибо заранее.
Ответы
Ответ 1
К сожалению, simple_form в настоящее время не работает автоматически с Mongoid. Вы должны указать as: :boolean
.
Появились признаки того, что люди хотят интеграции с монголами, но я не думаю, что это произошло еще. Итак, почему бы не дать ему выстрел? Вот несколько соответствующих билетов от трекера:
Ответ 2
Поскольку Дэвид упоминал, что Mongoid не поддерживается SimpleForm в этот момент, но вы можете быстро скопировать Mongoid:: Document, чтобы заставить их играть так:
module Mongoid
module Document
ARFakeColumn = Struct.new(:type, :limit, :number?)
def column_for_attribute(attribute_name)
attribute_name = attribute_name.to_s
column_name = aliased_fields[attribute_name] || attribute_name
if fields[column_name] && fields[column_name].options[:type] == Mongoid::Boolean
ARFakeColumn.new(:boolean, 100)
else
ARFakeColumn.new(:string, 100)
end
end
end
end