我需要将一个集合传递给 Formtastic 中的标准选择输入:
f.input :apple, :as => :select, :collection => Apple.all
问题是,尽管我需要 Formtastic 来访问与名称不同的方法。现在这确实是个问题。我总能传递数组
f.input :apple, :as => :select, :collection => Apple.map { |a| a.format_name }
问题是,在此之后我将在 Controller 中获取字符串而不是不需要的 ID。我尝试传递哈希:
options = Hash.new
Apple.each { |a| Apple.store(a.format_name, a.id) }
f.input :apple, :as => :select, :collection => options
现在的问题是,由于我使用的是 Ruby 1.8.7,因此哈希顺序未指定,我当然需要有序输入...
我能想到一些解决方案,但所有这些都需要不必要的代码。
知道如何解决这个问题吗?
最佳答案
尝试:
f.input :apple, :as => :select, :collection => Apple.all, :label_method => :format_name, :value_method => :id
关于ruby-on-rails - 如何在 Formtastic 中正确传递输入集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3642947/