Problème pour retrouver l'id de mon modèle

Par lyorb, il y a 9 ans


Bonjour,

J'ai un petit soucis, je suis sur la page show de l'utilisateur, avec un modèle 'Evaluation' et lorsque je veux créer une Evaluation par la méthode create l'id trouvé est celui de mon utilisateur et non pas celui de l'evaluation en question, je précise j'ai 2 controllers pour la meme vue, User et Evaluation

Merci de votre aide :)

EDIT : Si j'enleve "@evaluation = Evaluation.find(params[:id])" dans la méthode variable, il me trouve bien l'id de l'evaluation dans la requete mais je ne peux pas acceder au variable créer @loyer_profil et @revenus_profil

#EvaluationsController class EvaluationsController < ApplicationController def create @evaluation = Evaluation.create end def update @evaluation = Evaluation.find(params[:id]) @evaluation.update(eval_params) end def variable if @evaluation.save @evaluation = Evaluation.find(params[:id]) @loyer_profil = @evaluation.edp_loyer @revenus_profil = @evaluation.edp_revenus_mensuels end end end #UsersController class UsersController < EvaluationsController def show unless @user == current_user redirect_to root_path, :alert => "Accès refusé." end create variable end end

16 réponses

mitnick93150, il y a 9 ans

Salut,

Déjà je ne comprends pas trop cette classe

#UsersController class UsersController < EvaluationsController def show unless @user == current_user redirect_to root_path, :alert => "Accès refusé." end create variable end end

Je ne sais pas si il y a que ça.

tu peux faire ça :

class EvaluationsController < ApplicationController before_action :connected, only: [:show] def connected redirect_to root_path, :alert => "Accès refusé." if user_signed_in? end end

ensuite tu répète le find params fait une méthode et tu crée une before action pour les actions qui ont besoins id

ensuite je ne sais pas exactement ce que tu veux faire mais il te manque un new ( si tu as un formulaire pour ton evaluation.)

ta méthode variable je la comprends pas car je ne vois pas ce que tu veux faire. essayer d'expliquer les actions. :)

lyorb, il y a 9 ans

Bonsoir,
Merci de ta réponse, je t'explique : mon but est d'acceder aux données du simple_form_for @evaluation en remote: true qui est dans un modal sur la page show de l'user et a la confirmation du formulaire (requete xhr qui passe bien avec les params du form) une autre modal s'ouvre avec afficher ces données precedemment envoyé, tu te doute bien que mon but n'est pas de seulement afficher ces données mais j'en est besoin pour creer un algo par la suite

La methode Show ne sert qu'a afficher la page de l'utilisateur


mitnick93150, il y a 9 ans

En gros tu as un formulaire dans un modal ensuite tu valide ton formulaire et sa va ouvrir un nouveau modal.
C'est ça ?

lyorb, il y a 9 ans

Oui exact

mitnick93150, il y a 9 ans

donc ton formulaire marche ?

lyorb, il y a 9 ans

Oui il marche mon formulaire c'est juste sur le nouveau formulaire de réponse j'arrive pas a avoir par exemple <%= @evaluation.edp_loyer %> qui est censé me renvoyé la valeur du loyer . Mais au plus etonnant <%= @evaluation.id %> me renvoit bien l'id de l'evaluation

mitnick93150, il y a 9 ans

fait un puts de @evaluation et vois ce qui as dedans

mitnick93150, il y a 9 ans

Pas de souci tu veux discuter sur quoi

mitnick93150, il y a 9 ans

OUi pas de souci mais tu veux discuter sur skype, hanghout etc ....

mitnick93150, il y a 9 ans

Ok je vais manger et reviens

mitnick93150, il y a 9 ans

je ne tes pas oulier, je dois terminé un test technique et je reviens vers toi .

mitnick93150, il y a 9 ans

Bonjour je viens de terminé on peux se capter demain vers les 16h30 ?

lyorb, il y a 9 ans

D'accord , aucun probleme

Lartak, il y a 9 ans

Bonjour.
Je crois bien que vous n'avez pas compris à quoi sert le forum, l'aide doit être apportée sur le forum lui même et non servir de lieu de discussion et de rencontre.

lyorb, il y a 9 ans

Oui merci de nous apprende a quoi sert un forum, evidemment qu'apres que la solution du problème soit trouvé je la posterai sur le forum, mais pour mieux se comprendre le forum n'est pas l'idéal, mais merci de ta réaction très intéressante