实际上我正在进行一个多模型的项目 - >多个。我需要找到当前用户的所有信用/设备/项目(我认为只有两个列(id& score)的表信用是没用的,所以我将这个表合并到连接表中)。
我收到此错误:
SystemStackError in Users#show
Showing app/views/shared/_credit.html.erb where line # raised:
stack level too deep
这两个模型:
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
谢谢!
最佳。
答案 0 :(得分:15)
堆栈级到深度指向一个不定式的递归调用,我会说你用
得到它has_many :credit, :through => :credit,
这清楚地介绍了某种循环。
答案 1 :(得分:0)
您需要将Rails版本升级到最新版本才能解决此问题。
另一个选择是将ruby版本降级到旧版本。
您遇到此问题,因为您使用的rails版本与ruby版本不兼容。