だから私はそれを速くしようとします。私のアプリでは、ユーザーは多くのコースを教え、ユーザーは=>「登録」を通して多くのコースを受け取ります。多くのスルーインレール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:through =>:enrollmentsが既に存在していても、私は通常のhas_many/belongs_to関係の両方を呼び出しているので、何かが混ざり合っているからです。私はこれを回避する方法はわかりません。私は、理想的には、ユーザーが教えているコースの配列を集める、current_user.teachingのようなメソッドを作成したいと考えています。かなり失われた、どんな助けも大いに評価されるだろう。
私は既にモデルにそれらを持っています、私はすでにそれらを含めたことを申し上げておきます。私はもちろん、それはhas_many:belongs_toではなくenrollmentsであるべきだと思います。問題は私が定期的にhas_many/belongs_toを持っていることだと思っています。 – Zach
私はマッピングを変更しました。 – Finbarr
それは単にbelongs_to:user、belongs_to:courseですか? – Zach