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 on Rails Discussion :

Attr_accessor me bloque l'affichage de mon user


Sujet :

Ruby on Rails

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2012
    Messages : 24
    Points : 24
    Points
    24
    Par défaut Attr_accessor me bloque l'affichage de mon user
    Salut à tous !

    Je viens de rajouter un attr_accessor sur le :name, :password et :id de mon user et depuis, dans l'affichage de mon ticket d'incident je ne peux plus afficher le name du user avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <%= @incident.user.name %>
    En revanche quand je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <%= @incident.user.inspect %>
    j'obtiens ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     User: #<User id: 2, name: "Jeremy", password: "1234", created_at: "2015-08-25 07:20:08", updated_at: "2015-08-25 07:20:08">
    qui prouve que mon user.name arrive bien.

    Comment faire pour arriver à l'afficher ?

    Merci !

    EDIT : Je viens de mettre le attr_accessor dans un module et tout fonctionne, pourquoi ?

    Merci de vos réponses

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 239
    Points : 424
    Points
    424
    Par défaut
    Difficile à dire sans voir le code, je pense à un problème de syntaxe ...

    Vincent

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2012
    Messages : 24
    Points : 24
    Points
    24
    Par défaut Le code :
    Voici le code :

    models/user.rb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    # == Schema Information
    #
    # Table name: users
    #
    #  id         :integer          not null, primary key
    #  name       :string(255)
    #  password   :string(255)
    #  created_at :datetime         not null
    #  updated_at :datetime         not null
    #
     
    class User < ActiveRecord::Base
      module Usermod
        attr_accessor :name, :password, :password_confirmation, :id, :email
      end
     
      has_many :incidents
     
      email_regexp = /\A[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$\z/
      name_regexp = /\A([a-zA-Z0-9-_]{2,36})\z/
      validates :name, :presence => true,
                        :format => {:with => name_regexp},
                        :uniqueness => {:case_sensitive => false}
      validates :email, :presence => true,
                          :format => {:with => email_regexp},
                          :uniqueness => {:case_sensitive => false}
     
     
      validates :password, :presence => true,
                            :confirmation => true,
                            :length => {:within => 6..40}
     
      before_save :encrypt_password
     
        def has_password?(password_soumis)
          encrypted_password == encrypt(password_soumis)
        end
      private
     
        def encrypt_password
          self.encrypted_password = encrypt(password)
        end
        def encrypt_password
            self.salt = make_salt if new_record?
            self.encrypted_password = encrypt(password)
        end
     
        def encrypt(string)
            secure_hash("#{salt}--#{string}")
        end
     
        def make_salt
            secure_hash("#{Time.now.utc}--#{password}")
        end
     
        def secure_hash(string)
            Digest::SHA2.hexdigest(string)
        end
    end

    view/incidents/show.html.erb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <p id="notice"><%= notice %></p>
     
    <p>
      <strong>Content:</strong>
      <%= @incident.content %>
    </p>
     
    <p>
      <strong>User:</strong>
      <%= @incident.user.name %>
    </p>
     
    <p>
      <strong>Tech:</strong>
      <%= @incident.tech.pseudo %>
    </p>
     
    <p>
      <strong>Category:</strong>
      <%= @incident.category.name %>
    </p>
     
    <p>
      <strong>Date ouverture:</strong>
      <%= @incident.date_evenement %>
    </p>
    <p>
      <strong>Type d'évenement:</strong>
      <%= case @incident.evenement_type_id
      when 1
        "Incident en attente de prise en charge"
      when 2
        "Incident affecté à un technicien"
      when 3
        "Incident pris en charge par un technicien"
      when 4
        "En attente de réponse de l'utilisateur"
      when 5
        "En attente de réponse du tech"
      when 6
        "Incident cloturé"
      when 7
        "Incident rejeté"
      end %>
    </p>
     
     
    <%= link_to 'Edit', edit_incident_path(@incident) %> |
    <%= link_to 'Back', incidents_path %>

Discussions similaires

  1. Problème d'affichage avec mon BBCode
    Par magic33 dans le forum Langage
    Réponses: 4
    Dernier message: 01/05/2006, 16h30
  2. Probleme d'affichage de mon message
    Par zorba49 dans le forum ASP
    Réponses: 2
    Dernier message: 14/03/2006, 11h10
  3. [CSS] Probleme avec l'affichage de mon site :
    Par vampyrx dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 28/08/2005, 23h23
  4. Probleme affichage de mon site
    Par Braq dans le forum Webdesign & Ergonomie
    Réponses: 15
    Dernier message: 10/08/2005, 14h08
  5. Affichage de mon site en fonction de l'écran
    Par mobeida dans le forum Webdesign & Ergonomie
    Réponses: 1
    Dernier message: 07/08/2005, 18h08

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