2012-07-25 6 views
8

実際には、私はモデルのプロジェクトに多> - 多数あります。私は現在のユーザーすべてのクレジット/デバイス/プロジェクトを見つける必要があります(と私はそれが役に立たないと思うだけ2列(ID &スコア)ので、私はこのテーブルを結合テーブルにマージする)。レール:スタックレベルが深すぎる

私はこのエラーを取得する:

SystemStackError in Users#show 

Showing app/views/shared/_credit.html.erb where line # raised: 

stack level too deep 

そして2つのモデル:

class **Credit** < ActiveRecord::Base 
    attr_accessible :created_at, :credit_id, :device_id, :project_id, :score, :user_id 

belongs_to :device 
belongs_to :user 
belongs_to :project 
belongs_to :score 

end 

class **User** < ActiveRecord::Base 

has_many :credit 
has_many :credit, :through => :credit, foreign_key: "user_id", dependent: :destroy 
end 

ありがとうございました!

ベスト。不定詞再帰呼び出しに深いポイントに

+1

あなたは 'has_and_belongs_to_many'関係に気付いていますか? http://guides.rubyonrails.org/association_basics.html#the-has_and_belongs_to_many-associationをチェックしてください。また、 'has_many'と言うと、' credit'ではなく 'credits'でなければなりません。 –

+0

2 'has_many:credit'を定義しました。私は第二のものが ''プロジェクトであるべきだと思う – Baldrick

答えて

15

スタックレベル、と私はあなたが

has_many :credit, :through => :credit, 

を明確にいくつかの並べ替えのサイクルを導入することを得ると言うでしょう。

0

この問題を解決するには、Railsのバージョンを最新バージョンにアップグレードする必要があります。

別のオプションは、ルビーバージョンを古いバージョンにダウングレードすることです。

使用しているレールのバージョンがrubyのバージョンと互換性がないため、この問題が発生しています。

関連する問題