Настройка «многие ко многим» в Rails с помощью destroy разрешена только для одного из множества - PullRequest
0 голосов
/ 01 февраля 2010

Я пытаюсь смоделировать очень простую систему, но способ Rails сделать это ускользает от меня. Я хотел бы иметь две сущности: пользователя и ставку. У ставки есть два пользователя, а у пользователя много ставок. Я бы хотел, чтобы создавший пользователь ставки мог пометить его как разрешенный (выполнить любую форму обновления / удаления).

Сначала я думал, что пользователь должен действовать в двух направлениях: лучше или лучше. Правильным вариантом может быть ассоциация many_to_many в рельсах с дополнительным столбцом в таблице ставок, чтобы указать, кому принадлежит модель. Но затем вы повторяете один из идентификаторов пользователя дважды.

Заранее спасибо!

1 Ответ

1 голос
/ 02 февраля 2010

Я думаю, это то, что вы хотите:

class User
   has_many( :bets, :foreign_key => 'bettor_id', :class_name => 'Bet' )
   has_many( :responses, :foreign_key => 'responder_id', :class_name => 'Bet' )
end

class Bet
   belongs_to( :bettor, :class_name => 'User' )
   belongs_to( :responder, :class_name => 'User' )
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...