Dans mon contrôleur, j'ai ceci:variables Rails dans le modèle ne fonctionne pas
user.save
if user.leveled_up==true
flash[:notice]="HOOOORAY!!!"
end
et dans mon modèle j'ai:
before_save :check_xp
# ....
def leveled_up=(leveled_up)
@leveled_up=leveled_up
if @leveled_up==true
self.statpoints+=5
hp=max_hp
end
end
def leveled_up
@leveled_up
end
private
def check_xp
leveled_up=false
case self.xp
when 0..999
self.level=1
when 1000..2999
leveled_up=true if self.level==1
self.level=2
when 3000..4999
leveled_up=true if self.level==2
self.level=3
when 5000..9999
leveled_up=true if self.level==3
self.level=4
# ...
end
end
Mais ce ne fonctionne pas. Même si l'utilisateur nivelé la fonction leveled_up retourne false ...
je dois faire quelque chose de mal ...
Merci !!
Alors, quel est le problème (plus précisément que 'ça ne marche pas')? Est-ce que l'utilisateur ne voit tout simplement pas "HOORAY", vous obtenez une exception quelque part, ou autre chose? –
Chris, le hourra ne montre pas (il y a une fonction pour afficher en vue) et si @ leveled_up == true self.statpoints + = 5 hp = max_hp fin ne tourne pas ... (jamais) –