IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby Discussion :

Sessions avec Ruby on Rails


Sujet :

Ruby

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 42
    Par défaut Sessions avec Ruby on Rails
    Bonjour,

    J'ai une application RoR qui gère des informations sur des personnes. Ainsi ces personnes eux même et d'autres personnes (par exemple des administrateurs) pourront se connecter et consulter ces dossiers(ensembles de fiche d'informations avec pour chaque fiche correspond une table dans ma base de données).

    Je voudrais donc pouvoir afficher à chaque fois l'utilisateur connecté, mais aussi les nom et prénom (par exemple) du dossier(fiche) courant ouvert que l'utilisateur est entrain de consulter/modifier ainsi que son mode d'ouverture (c'est à dire : en lecture ou en modification).

    Pour obtenir ces informations comment dois-je procéder?
    Est-ce qu'il faut que j'utilise les sessions ou cookies? Si oui comment?
    Car j'ai du mal à comprendre comment mettre en place le mécanisme de session en RoR.

    Comme par exemple si j'ai nom et prénom dans un formulaire pour l'action new ou édit du controller Contact: comment pourrais-je récupérer "nom" et "prénom" et l'afficher à partir de la page principale de mon application avec les sessions... Si la solution est l'utilisation des sessions.

    Merci de votre aide.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Je voudrais donc pouvoir afficher à chaque fois l'utilisateur connecté
    Ca dépend du systeme d'authentification que tu as mis en place.
    En général, il y a l'id du current_user qui est stocké dans une session, et à chaque page, Ror requete la bdd pour récupérer le nom, le prénom etc...
    Tu affiche l'utilisateur connecté dans le layout, pour éviter de réécrire le code dans toutes les vues.

    mais aussi les nom et prénom (par exemple) du dossier(fiche) courant ouvert que l'utilisateur est entrain de consulter/modifier
    L'action commence par @contact = Contact.find(:id)
    Donc le contact en cours est en mémoire.
    Il suffit de l'afficher dans la vue...
    <%= @contact.nom %>
    <%= @contact.prenom %>...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 42
    Par défaut
    Bonjour,
    Merci pour ton aide.
    J'arrive à récupérer le contact avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <% id = params[:id] %>
    <% @contact = Contact.find(:id) %>
    J'ai ajouté la 1ere ligne car j'avais une erreur du genre "Could'nt find contact with ID =id.

    Mais le problème est que cela ne marche que lorsque je suis sur la page par exemple avec 8 qui est l'id du contact en cours d'édition.

    Maintenant comment dois-je faire si je veux connaitre et récupérer le controlleur "contacts", l'id "8" et l'action "edit" pour pouvoir récupérer le bon id.

    Car si la page courante est il faudrait que je puisse savoir que ce n'est plus le contact qui est en cours d'édition mais le commentaire 4.

    Je sais pas s'il ya un moyen de faire ça avec Ruby on rails seulement ? ou avec des expression régulières?

    Merci de m'éclairer sur cette question.

  4. #4
    Membre expérimenté Avatar de rivsc
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 213
    Par défaut
    <% id = params[:id] %>
    <% @contact = Contact.find(:id) %>
    :id est un symbole id est une variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <% id = params[:id] %>
    <% @contact = Contact.find(id) %>

    il faudrait que je puisse savoir que ce n'est plus le contact qui est en cours d'édition mais le commentaire 4.

    Je sais pas s'il ya un moyen de faire ça avec Ruby on rails seulement ? ou avec des expression régulières?
    Les routes sont faites pour ça (config/routes.rb) : lis le fichier routes.rb (les commentaires en anglais...)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 42
    Par défaut
    Bonjour,

    Citation Envoyé par rivsc Voir le message
    :id est un symbole id est une variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <% id = params[:id] %>
    <% @contact = Contact.find(id) %>



    Les routes sont faites pour ça (config/routes.rb) : lis le fichier routes.rb (les commentaires en anglais...)
    Merci beaucoup pour cette réponse car cela m'a permis de comprendre de nouvelles choses.

    Mais je ne comprends toujours pas comment m'en servir dans mon application, car les routes que j'avais dans "Config/routes.rb" étaient remplies automatique.

    Peux-tu m'expliquer d'avantage comment assigner correctement les routes et comment s'en servir dans l'appli.

    Par exemple si j'ai la relation: une Personne à 1 ou plusieurs Contacts.
    Est-ce qu'on doit obligatoirement avoir dans le fichier de config/routes.rb une ligne du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    map.resource :personnes, has_many => :contacts
    ou
    map.resource :personnes

    Merci encore.

  6. #6
    Membre expérimenté Avatar de rivsc
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 213
    Par défaut
    Je n'ai pas le temps là. Mais je pense qu'il serait formateur que tu regardes les railscast : le numéro 1 => http://railscasts.com/episodes/1-cac...ance-variables, puis les autres on apprend beaucoup de choses. Sinon tu viens de quel language ? php ?

Discussions similaires

  1. Commencer avec Ruby on Rails
    Par vdubois dans le forum Ruby on Rails
    Réponses: 4
    Dernier message: 27/10/2013, 17h23
  2. sms avec ruby on rails
    Par ndeyemaroc dans le forum Ruby on Rails
    Réponses: 4
    Dernier message: 26/10/2010, 22h40
  3. Ruby on Rails et Routes avec 2 tables reliées
    Par Miles Raymond dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 17/06/2009, 08h14
  4. probleme avec postgresql et ruby on rails
    Par rail99 dans le forum Ruby on Rails
    Réponses: 0
    Dernier message: 08/05/2008, 02h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo