ruby-on-rails – 如何正确传递在Formtastic中输入的集合

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何正确传递在Formtastic中输入的集合前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要将一个集合传递给Formtastic中的标准选择输入:
f.input :apple,:as => :select,:collection => Apple.all

问题是,虽然我需要Formtastic访问与名称不同的方法.现在这真的是一个问题.我可以随时通过Array

f.input :apple,:collection => Apple.map { |a| a.format_name }

问题是,在此之后,我将获得控制器中的字符串,而不是不需要的ID.我试图通过哈希:

options = Hash.new
Apple.each { |a| Apple.store(a.format_name,a.id) }
f.input :apple,:collection => options

现在的问题是,由于我使用的是Ruby 1.8.7,所以哈希顺序是未指定的,当然需要有序输入…

我可以想像一些解决方案,但所有这些都需要不必要的代码.

任何想法如何解决这个权利?

解决方法

尝试:
f.input :apple,:collection => Apple.all,:label_method => :format_name,:value_method => :id

猜你在找的Ruby相关文章