Schienen - Datensatz Hinzufügen, um zum Tisch vom controller

Ich versuche zu erstellen, die einen Datensatz innerhalb einer join-Tabelle aus der Aktion eine Schaltfläche. Ich hätte eine events-Modell und würde gerne verfolgen ausgewählte Ereignisse " von jedem Benutzer.

Benutzte ich die HABTM-Beziehung weil ich wirklich nicht brauchen extra-Felder.

Benutzer.rb:

has_to_and_belongs_to_many :events

Veranstaltung.rb:

has_to_and_belongs_to_many :users

Events_Users Migration:

[user_id, event_id, id=>false]

Ich bin immer fest auf die eigentliche Gestaltung der Aufnahme. Jemand half mir früher mit dem hinzufügen des Datensatzes in die Konsole:

u = User.find(1)
u.events << Event.find(1) 

Nun möchte ich die Aktion durchführen, die als Ergebnis der Klick auf einen link... Ist das in die richtige Richtung?

def add
  @user = User.find(session[:user_id])
  @event = Event.find(params[:id])
  if @user.events.save(params[:user][:event])
    flash[:notice] = 'Event was saved.'
  end
end

Sollte ich hinzufügen, ein @user.events.new irgendwo und wenn ja wo muss ich die Parameter von dem Benutzer und welche Veranstaltung?

Schreibe einen Kommentar