Их способ определения пользовательских полей полностью изменился в Formtastic 2.x
Вам нужно создать подклассы внутренних классов Formtastic, чтобы получить то, что вы хотите.Выбранные входные данные будут выглядеть примерно так:
module FormtasticExtensions
class EnumeratedInput < Formtastic::Inputs::SelectInput
def collection
# programmatically build an array of options in here and return them
# they should be in this format:
# [['name', 'value'],['name2', 'value2']]
end
end
end
Включите модуль в инициализатор Formtastic:
include FormtasticExtensions
, и это будетдать вам поле :as => :enumerated
и вам будет хорошо идти.В моем случае (какое-то другое настраиваемое поле) он выбирает текущую опцию, но вам может потребоваться настроить код, чтобы ваш работал.
Вы также можете просто передать коллекцию в:
f.input :thing, :as => :select, :collection => your_collection, :label_method => :your_name, :value_method => :your_id