2017-06-18 2 views
0

Ich habe 2 Modelle: Department und Station. Station hat 3 verschiedene enum Arten. Der Benutzer sollte die Möglichkeit haben, 1, 2 oder 3 Stationen unterschiedlichen Typs mit Hilfe von Kontrollkästchen auszuwählen. Wenn eine Station ausgewählt ist, sollte ein Datensatz in Station erstellt werden.Schienen has_many Beziehung zu allen Enum-Typen

Irgendeine Idee, wie man das macht?

anderen Worten, sollte es so etwas wie dieses:

class Department < ApplicationRecord 
    has_many :stations, dependent: :destroy 


class Station < ApplicationRecord 
    enum type: { type1: 0, type2: 1, type3: 2 } 
    belongs_to :department 


_form.rb should be something like this: 
    = f.association :stations, :as => :check_boxes, :collection => Station.types.keys 

aber natürlich sollte es anders sein.

Antwort

0

Da ein Department höchstens einen Station von jedem Typ haben kann, sollte jeder Stationstyp seinen eigenen Auswahleingang haben. Diese Eingänge sollten andere Namen als stations (möglicherweise station_type_1 usw.) verwenden. Dann können Sie einen versteckten stations Eingang erstellen und die Auswahl synchronisieren.

Verwandte Themen