16225


モデルにおけるリレーションでthroughにエラーが起きます。

ArgumentError: Unknown key: :through. Valid keys are: :class_name,
:anonymous_class..

エラーでググったのですが、throughがkeyとして認識されていないというような記事は見当たりませんでした。

(User)モデルから(Article)モデルに中間テーブル(Review)を介して、リレーションをしようと

`model/user.rb`  
`has_many :articles, through: :reviews`

このような形で指定しています。

原因が分からず。よろしくお願いいたします


CC BY-SA 3.0
2015-09-04T02:54:16.610
16218
2015-09-04T05:16:34.763
11188
question
ruby-on-rails
ArgumentError: Unknown key: :through.


実際に使っている user.rb 、 review.rb 、 article.rb のコードをそのまま載せてください。  
どこかに間違いや特殊な設定が隠れているのかもしれません。（関連の定義に別名を使っている等）

通常であれば次のようなコードになっていれば普通に動くはずです。

[code]

    class User < ActiveRecord::Base
      has_many :reviews
      has_many :articles, through: :reviews
    end
    
    class Review < ActiveRecord::Base
      belongs_to :user
      belongs_to :article
    end
    
    class Article < ActiveRecord::Base
      has_many :reviews
      has_many :users, through: :reviews
    end
    
[/code]


CC BY-SA 3.0
2015-09-04T05:16:34.763
16225
2015-09-04T05:16:34.763
85
16218
answer