你如何让enum与simple_form一起工作?

时间:2017-12-20 09:51:59

标签: ruby-on-rails ruby enums simple-form

请考虑以下型号

  class Song < ActiveRecord::Base

      enum category: [:english, :french]

      enum file_type: [:mp3, :video]

      enum mood: [:sad, :happy]
    end

我有一张表格

= simple_form_for(@song) do |f|

  = f.input :name
  = f.input :category, collection: Song.categories
  = f.input :file_type, collection: Song.file_types
  = f.input :mood, collection: Song.moods

问题是,当我编辑表单时,所选值为nil,即选择框不会选择已设置的值而是选择空白。所以我想在视图中有没有办法显示保存的枚举值?

谢谢!

1 个答案:

答案 0 :(得分:3)

您需要将密钥传递给集合而不是枚举。

= f.input :category, collection: Song.categories.keys