1

所以我有两个模型:User 和 ScheduledSession

用户具有角色。角色之一是“讲师”。

ScheduledSession
belongs_to :instructor, :class_name => 'User', :foreign_key => 'instructor_id'

User
has_many :scheduled_sessions

好的!所以我可以这样做...

s = ScheduledSession.first
s.instructor

坏的!但我不能这样做...

u = User.first
u.scheduled_sessions

我得到这个错误...

SQLite3::SQLException: no such column: scheduled_sessions.user_id: SELECT "scheduled_sessions".* FROM "scheduled_sessions"  WHERE "scheduled_sessions"."user_id" = 1
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: scheduled_sessions.user_id: SELECT "scheduled_sessions".* FROM "scheduled_sessions"  WHERE "scheduled_sessions"."user_id" = 1

如何以相反的方式设置关系,以便我可以查看哪些预定会话属于该讲师(用户)?

4

1 回答 1

4

您也只需要在 User has_many 关系中设置外键。

has_many :scheduled_sessions, :foreign_key => 'instructor_id'
于 2012-04-27T22:51:04.387 回答