Ich habe zwei Modelle mit einer Beziehung von vielen zu vielen mit has_and_belongs_to_many
. Wie so:So verknüpfen Sie ein neues Modell mit vorhandenen Modellen mit has_and_belongs_to_many
class Competition < ActiveRecord::Base
has_and_belongs_to_many :teams
accepts_nested_attributes_for :teams
end
class Team < ActiveRecord::Base
has_and_belongs_to_many :competitions
accepts_nested_attributes_for :competitions
end
Wenn wir davon ausgehen, dass ich schon mehrere Wettbewerbe in der Datenbank erstellt habe, wenn ich ein neues Team zu erstellen, würde Ich mag eine verschachtelte Form verwenden, das neue Team mit allen relevanten Wettbewerben zu verknüpfen.
Es ist an diesem Punkt, dass ich wirklich Hilfe brauche (seit Stunden daran festhalten!) Und ich denke, mein bestehender Code ist schon in die falsche Richtung gegangen, aber ich werde es nur für den Fall zeigen:
Und die Aussicht ... das ist, wo ich wirklich feststecke, so werde ich beide meine Bemühungen bisher nicht veröffentlichen. Was ich möchte es eine Liste von Kontrollkästchen für jeden Wettbewerb, so dass der Benutzer nur auswählen kann, welche Wettbewerbe angemessen sind, und lassen Sie diejenigen deaktiviert, die nicht sind.
Ich bin wirklich stecken mit diesem so jede Zeige in die richtige Richtung schätzen Sie bieten kann :)
Vielen Dank für Ihre Antwort (und ein paar Tage um zu antworten). Deine Lösung funktioniert gut, obwohl ich eine Weile gebraucht habe, um herauszufinden, wie man das Formular erstellt. Für den Fall, dass jemand darüber stolpert, während das Teamformular mit dem Helfer form_for generiert wird, habe ich für den Wettbewerbsteil die Checkboxen manuell so angelegt: <% = check_box_tag "team [competitions] []", competition. id, @ team.competitions.include? (Wettbewerb),: id => "team_competitions _ # {competition.id}"%> – aaronrussell