принадлежит к одной и той же модели - PullRequest
13 голосов
/ 23 декабря 2010

Мне интересно, есть ли способ сделать это с помощью рельсов или нет. В основном у меня есть модель пользователя и модель события. Событие создано пользователем, и я хочу иметь внешний ключ (user_id) в модели событий, который указывает, кто создал событие. Кроме того, событие может иметь много пользователей, которые посещают его, поэтому модель события становится чем-то вроде

belongs_to :user
has_many :users, :through => :guests #suppose i have the guest model 

и пользовательская модель выглядит как

has_many :events, :through => :guests

Я еще не пробовал эту ассоциацию, но хочу сказать

e = Event.find(1)
e.creator #returns the user who created this event

вместо

e.user

есть ли для меня способ сделать это?

1 Ответ

13 голосов
/ 23 декабря 2010

Просто передайте некоторые параметры belongs_to:

belongs_to :creator, :class_name => "User", :foreign_key => "user_id"

Указывает, что метод creator будет объектом User, ссылаясь на поле user_id.

...