J'ai été à la recherche sur les rubis sur l'héritage des rails, mais tout ce que je pouvais trouver est l'héritage où il n'y a pas de nouveaux attributs, comme ceci:L'héritage Ruby on Rails avec de nouveaux attributs?
class Animal < ActiveRecord::Base; end
class Dog < Animal; end
class Cat < Animal; end
et l'ajout d'un nouveau champ de type à la table
class CreateAnimals < ActiveRecord::Migration
def self.up
create_table :animals do |t|
t.string :name
t.string :race
t.string :type
end
end
end
Mais comment ajouter un nouvel attribut à Dog, par exemple? Comme, les chiens ont un 'nom' et une 'race' héritée d'Animal, mais comment ajouter 'bark_type', que seul un chien a?
oui, c'est STI, je ne suis pas sûr de savoir comment le faire sur les rails. Je voudrais avoir un contrôleur pour chien et un pour chat qui sauve sur la table des animaux de compagnie? comment ferais-je cela? l'exemple que vous avez lié n'a aucun nouvel attribut sur les classes de chat/chien – xSlok
Veuillez lire le lien que j'ai fourni avec soin. Comme je l'ai dit, tous les attributs de chat ou de chien doivent être des colonnes sur la table des animaux de compagnie. La colonne type de la table Pet aura la sous-classe par exemple "dog". Je vais mettre à jour ma réponse avec un petit exemple –