Ruby on Rails: имеет и принадлежит многим отношениям: как мне разрушить отношения? - PullRequest
0 голосов
/ 07 июля 2010

Это намного сложнее в коде, чем в реальной жизни. =) * * Тысяча одна Но в любом случае,
У моих пользователей есть менеджеры, и наоборот ...

Как мне удалить связь?

@selected_user = User.find(params[:id])
@selected_user.managers.delete_if{|x| x.standard_user_id == params[:id].to_i}

Это самоссылочная ссылка, которая относится ко многим отношениям, поэтому у меня есть другая таблица, в которой есть только два столбца внешних ключей, оба из которых указывают на таблицу Users. Эта справочная таблица не имеет модели.

Ответы [ 2 ]

2 голосов
/ 07 июля 2010
    @report = User.find(params[:report])
    @manager = User.find(params[:manager])
    @manager.standard_users.delete(@report)

У менеджеров есть стандартные пользователи у стандартных пользователей есть менеджеры

1 голос
/ 07 июля 2010

Разве это не работает? @selected_user.managers.each{|x| x.destroy!} или Managers.delete_all "standard_user_id = params[:id]"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...