rails : le niveau de la pile trop profonde
En fait je suis sur un projet pour un modèle beaucoup->beaucoup. J'ai besoin de trouver un utilisateur actuel de tous les crédits d'/devices/projet (et je pense qu'il est inutile d'avoir un tableau de crédit avec seulement deux colonnes (id & score) j'ai donc fusionner cette table à la table de jointure).
J'obtiens cette erreur :
SystemStackError in Users#show
Showing app/views/shared/_credit.html.erb where line # raised:
stack level too deep
Et les deux modèle :
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
Merci !
Meilleur.
Êtes-vous conscient de la
Vous avez défini 2
has_and_belongs_to_many
relation? Vérifier guides.rubyonrails.org/.... Aussi, quand vous dites has_many
, il doit être credits
au lieu de simplement credit
.Vous avez défini 2
has_many :credit
; je pense que la deuxième should be
projetsOriginalL'auteur msusplugas | 2012-07-25
Vous devez vous connecter pour publier un commentaire.
Niveau de la pile à de profonds des points à un verbe à l'infinitif appel récursif, et je dirais que vous obtenez avec
qui introduit clairement un cycle de quelque sorte.
OriginalL'auteur bento
Vous devez mettre à jour les Rails de la version de la dernière version de résoudre ce problème.
une autre option est d'abaisser la version de ruby à l'ancienne version.
vous obtenez cette question, car les rails de la version que vous utilisez n'est pas compatible avec la version de ruby.
OriginalL'auteur Hitesh Ranaut