Направляющие - Создают/Уничтожают запись в объединяющей таблице

Я работаю над этой записью, вставляют/удаляют, я не уверен, что синтаксис должен выполнить запрос.

У меня есть пользовательская модель и модель событий. Я составил присоединяющуюся таблицу под названием Персональный, который хранит user_id и event_id любых событий что пользователи как.

Я создал "Добавить" метод в своем контроллере событий поэтому каждый раз, когда кто-то нажимает выполненный к этому, и выполните создать логику, которую я пытаюсь разработать теперь. Действие связывается с дополнительным столбцом, который я добавил к сетке, отображающей все события.

Пользовательская модель =>

 has_many :personals

Модель событий =>

has_many :personals

Персональная модель =>

belongs_to :user
belongs_to :events

Я думал, что это будет что-то как =>

 @user = User.find(session[:user_id])
 @event = Event.find(params[:id])
 # Personal.new = User.Event?

кто-либо может помочь?

5
задан ChrisWesAllen 19 February 2010 в 15:39
поделиться

1 ответ

Если вы используете ассоциацию has_and_belongs_to_many, что было бы неудачно, удаление связанных ссылок может быть сложным, поскольку для каждой ссылки нет идентификатора.

Использование отношения has_many :through намного проще в обслуживании и позволит вам делать такие простые вещи, как:

class User < ActiveRecord::Base
  has_many :user_events
  has_many :events,
    :through => :user_events
end

@user.events.delete(@event)

Это не удаляет само событие, для этого потребуется вызов Event#destroy, а запись join, которая связывает эти два события.

20
ответ дан 18 December 2019 в 07:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: