2016-12-14 6 views
0

Ich verwende geschachtelte Form in meiner Rails App. Ich habe Benutzer has_many user_skills Verein. Jetzt in meiner Form habe ich zwei Abschnitte "Benutzer in Fähigkeiten" und "Benutzer aus Fähigkeiten" und fügen Sie mehr Option für beide hinzu. Ich habe ein Feld mit dem Namen 'skill_type' in meinem user_skill-Modell hinzugefügt, um zwischen 'in skills' und 'out skills' zu unterscheiden, die jeweils die Werte 'in_skill' und 'out_skill' speichern.verschachtelte Formular Probleme Rails 4.0

Aber ich bin verwirrt, wie ich es in Schienen handhabe.

Ich habe dies in meiner Form hinzugefügt, aber das wird mir nicht helfen.

.col-xs-12.no_pad.skils-fieldset    
    %legend In Skills 
    = f.fields_for :user_skills do |user_skill| 
     = render :partial => "users/user_skills", :locals => {:f => user_skil l} 
    = link_to_add_fields "Add", f, :user_skills, true, "users/user_skills" 


.col-xs-12.no_pad.skils-fieldset    
    %legend Out Skills 
    = f.fields_for :user_skills do |user_skill| 
     = render :partial => "users/user_skills", :locals => {:f => user_skil l} 
    = link_to_add_fields "Add", f, :user_skills, true, "users/user_skills" 

Obviuosly würde es alle Fähigkeiten, bevölkern für diesen Benutzer in beiden Sektionen.

Wie gehe ich damit um?

Ich habe versucht, Hinzufügen von Bedingungen wie folgt aus:

-if user_skill.skill_type == 'in_skill' 
    = render :partial => "users/user_skills", :locals => {:f => user_skil l} 

Was ist der bessere Weg, dies zu tun?

Antwort

0
user_skills.select {|skill| skill.skill_type == 'in_skill'} 

oben Schnipsel nur in_skill Art von Fähigkeiten zurückkehren, anschließend können Sie darauf laufen, anstatt den sperrigen der Verwendung, wenn die Bedingung

Sie auch in_skills und out_skills in separaten Variablen und iterieren auf diejenigen setzen können in Ihrem Vorlage

Verwandte Themen