Мне нужно передать коллекцию в стандартный ввод select в Formtastic:
f.input :apple, :as => :select, :collection => Apple.all
Проблема в том, что мне нужен Formtastic для доступа к методу, отличному от имени.Теперь это действительно проблема.Я всегда могу передать массив
f.input :apple, :as => :select, :collection => Apple.map { |a| a.format_name }
. Проблема в том, что после этого я получу строки в контроллере вместо идентификаторов, что нежелательно.Вместо этого я попытался передать Hash:
options = Hash.new
Apple.each { |a| Apple.store(a.format_name, a.id) }
f.input :apple, :as => :select, :collection => options
Теперь проблема в том, что, поскольку я использую Ruby 1.8.7, порядок хеширования не указан, и мне, конечно, нужен упорядоченный ввод ...
Я могу представить некоторые решения, но все они требуют ненужного кода.
Есть идеи, как решить эту проблему?