好吧,我會盡量讓它快速。在我的應用程序中,用戶教許多課程,並且用戶通過=>「註冊」學習許多課程。有許多通過導軌3
User Model:
has_many :courses
has_many :courses, :through => :enrollments, :source => "course_id", :dependent => :destroy
Course Model:
belongs_to :user
has_many :users, :through => :enrollments, :source => "user_id", :dependent => :destroy
我把它全部按照標準設置,並有許多通過協會工作很好。問題是,當我課程的教師,我嘗試將其刪除,還是我打電話:
@courses = current_user.courses
我得到這個錯誤:
ActiveRecord::HasManyThroughSourceAssociationNotFoundError in CoursesController#destroy
我有一種感覺,它是因爲我正在調用has_many/belongs_to關係,即使我已經有一個has_many:through =>:enrollments,並且有些東西混在一起。我不知道如何解決這個問題。理想情況下,我希望創建一個方法,收集用戶正在教授的一系列課程,如current_user.teaching。相當失落,任何幫助將不勝感激。
我已經有那些車型,對不起,我應該已經說過,我已經包含這些。雖然我認爲當然應該是has_many:註冊而不是belongs_to。我認爲問題在於我有一個常規的has_many/belongs_to,而且有很多直播,所以活躍的記錄正在被絆倒。 – Zach 2011-12-27 02:19:15
我改變了映射。 – Finbarr 2011-12-27 02:23:40
不應該只是belongs_to:user和belongs_to:當然? – Zach 2011-12-27 02:26:52