我需要将一个集合传递给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