2017-12-20 5 views
0

Bitte beachten Sie das folgende ModellWie machen Sie Enums mit simple_form arbeiten?

class Song < ActiveRecord::Base 

     enum category: [:english, :french] 

     enum file_type: [:mp3, :video] 

     enum mood: [:sad, :happy] 
    end 

I

= 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 

hier eine Form haben, ist das Problem, wenn ich die Form bearbeiten dann wird der ausgewählte Wert Null, dh das Auswahlfeld den Wert auswählen tut, dass wurde stattdessen festgelegt, es wählt leer aus. Also frage ich mich in der Ansicht gibt es eine Möglichkeit, den gespeicherten Enum Wert zu zeigen?

Danke!

+1

Können Sie es versuchen. 'Sammlung: Song.categories.keys'? – coderhs

+0

danke das hat es getan. setze es in Antwort und ich werde es akzeptieren. – kofhearts

Antwort

1

Sie müssen die Schlüssel an die Sammlung statt an die Enumeration übergeben.

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

Verwandte Themen