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 :

Héritage (single-table inheritance)


Sujet :

Ruby on Rails

  1. #1
    Membre averti Avatar de Javix
    Inscrit en
    Juin 2007
    Messages
    531
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 531
    Points : 353
    Points
    353
    Par défaut Héritage (single-table inheritance)
    J'ai essayé d'utiliser cette technique comme expliqué dans "Agile Web development with Rails, 3d edition):
    Migration:
    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
     
    class CreatePeople < ActiveRecord::Migration
      def self.up
        create_table :people do |t|
          t.string :type
          t.string :name
          t.integer :reports_to
     
          t.timestamps
        end
      end
     
      def self.down
        drop_table :people
      end
    end
    Model (fichier person.rb):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class Person < ActiveRecord::Base
    end
    class Customer < Person
    end
    class Employee < Person
      belongs_to :boss, :class_name => "Manager" , :foreign_key => :reports_to
    end
    class Manager < Employee
    end
    Quand je le teste dans la console:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    empl = Employee.create(:name=>'boucher')
    J'obtiens l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NameError:uninitialized constant Employee
    Qu'est-ce j'ai mal fait?

  2. #2
    Membre averti Avatar de Javix
    Inscrit en
    Juin 2007
    Messages
    531
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 531
    Points : 353
    Points
    353
    Par défaut
    Même après avoir exécuté la commande reload!, j'ai eu la même résultat. Il fallait complétement quitter la console ainsi que fermer la fenêtre CMD-prompt.
    Au prochain démarrage, ça a fonctionné sans problèmes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Inheritance Single Table - methode Find
    Par G4nSta dans le forum Symfony
    Réponses: 1
    Dernier message: 18/10/2013, 11h15
  2. Routes et Single-table inheritance
    Par Javix dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 07/04/2009, 14h22
  3. Utilisation d'une Single Table Inheritance et des migrations
    Par redpopo dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 08/12/2008, 16h55
  4. Héritage avec tables liées à une autre base
    Par b_steph_2 dans le forum Access
    Réponses: 13
    Dernier message: 27/02/2007, 11h17
  5. [Single Table Inheritance] Documentation
    Par seb_asm dans le forum Design Patterns
    Réponses: 2
    Dernier message: 10/03/2005, 13h18

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