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

标签 ruby-on-rails ruby ruby-on-rails-3 formtastic

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

相关文章:

ruby - ActiveRecord has_one 和 has_many 关系相同 :foreign_key

ruby - Shoes 中实例变量的奇怪行为

ruby-on-rails - 对来自 2 个不同 Controller 的同一模型执行不同的现场验证

javascript - 通过 Ruby On Rails 中 jquery 的 onclick 函数传递对象的 id

sql - Rails include() 带有自定义 ON 子句的 LEFT OUTER JOIN

ruby-on-rails - 使用关联模型值在 Rails 中导出为 CSV

ruby-on-rails-3 - Ckeditor 在根 URI 中搜索资源,而其应用程序位于子 URI 上

ruby-on-rails - 如何在 Rails 应用程序中获取路径的路线?

ruby-on-rails - 嵌套形式: shouldn't save if no information for child is entered

ruby-on-rails - 显示两个给定时间之间的 15 分钟步长