J'ai une base de données avec des tables. Je veux créer un modèle dans mon application Rails à partir de la table existante. Comme je sais, cette fonctionnalité est disponible, et se fait comme suit:
script/generate scaffold model_name --skip-migration
Bien sûr, je définis ma base de données dans database.yml fichier. L'échafaudage a généré pour moi un modèle avec contrôleur et vues. Mon nom de table n'est pas comme il doit être pour Rails (c'est incorrect, ne pas suivre les conventions), j'ai ajouté set_table_name à mon contrôleur. Mais, quand j'appelle la méthode d'index, sur ma page j'ai seulement l'ensemble de # symboles, mais pas une base de données. Dans mon index.html.erb j'ai seulement généré du code par échafaudage. Comment puis-je imprimer mes données de base de données?
Modèle d'une table existante dans Rails 2
Répondre
Avez-vous généré un fichier de schéma à partir de votre base de données existante? Si vous exécutez la commande
rake db:schema:dump
puis Régénérer votre échafaudage cela devrait résoudre le problème.
En outre, vous voudrez peut-être vérifier Dr Nic's Magic Model generator. Cela générera des modèles pour toutes vos tables existantes et tentera de deviner les relations. Cela ne fonctionnera probablement pas si votre nom de table n'est pas compréhensible par les rails.
MISE À JOUR
Je ne généralement pas utiliser l'échafaudage par défaut mais je l'ai testé moi-même et il semble que si vous sautez la migration et ne passez pas de paires nom de colonne/puis tapez le générateur d'échafaudage ne sera pas créer quelque chose dans le modèle pour rendre les colonnes.
Vous avez deux choix ici soit
- passe dans les paires nom de colonne, ainsi que sauter la migration ou
- Télécharger Ryan Bates Nifty Scaffold generator qui va créer l'échafaud avec les noms de colonnes, même si vous spécifiez - -skip migration
je base de données postgresql, et je généré schéma . Problème non résolu. – Yurish
Merci!Je vais essayer, mais il semble que vous avez raison! – Yurish
C'était génial pour moi. J'ai créé une nouvelle application, l'ai pointée sur une base de données à partir d'une ancienne base de données d'application (non-rails) et elle a créé le fichier schema.rb pour les instructions create table de migration pour mes 358 tables !!! Ensuite, je pointe une application sur une base de données différente et utilise ce fichier de schéma pour le créer dans cette base de données différente. –
- 1. Ajouter une colonne id et la remplir dans une table existante dans Rails?
- 2. Modèle récursif dans Rails
- 3. Passer de 2 à plusieurs dans Rails
- 4. Modèle Rails avec foreign_key et table de liens
- 5. ActiveRecord Joindre la table pour la base de données existante
- 6. Ajout d'un datarow d'une table existante à une nouvelle table
- 7. ADO.NET EF: Affectation d'un modèle à une table sans base de données existante
- 8. Une seule instance d'un modèle dans Rails
- 9. Comment insérer une vue dans une cellule de table existante?
- 10. Pagination et tri de table dans Rails
- 11. Modèle vide, table vide
- 12. rails modèle de session
- 13. Rails: méthode d'appel dans le modèle
- 14. Accès aux propriétés du modèle dans Rails
- 15. Rails classés par dans le modèle associé
- 16. Copier des instances de modèle dans Rails
- 17. Problème de sauvegarde du modèle dans Rails
- 18. Liste déroulante hors table Rails
- 19. générer une commande sql "create table" basée sur une table existante dans mysql
- 20. Ruby/Rails 1 & 2: problème de collection
- 21. Impression d'une table dans les rails
- 22. Rails (ActiveRecord) plusieurs à plusieurs table
- 23. Ruby on Rails Générateur de table HTML
- 24. Rails ContactForm avec modèle non ActiveRecord - validations
- 25. Vérification et suppression d'une table existante via C# et SMO
- 26. Impact pour augmenter la longueur de colonne d'une table existante
- 27. Ajouter une vue à une application Rails existante - simple?
- 28. Rails Problème d'héritage de table unique
- 29. variables Rails dans le modèle ne fonctionne pas
- 30. Entity Framework - Héritage table par type - Base de données existante
J'ai ouvert la source de ma page Web et vu, que j'ai quelque chose comme ça:
Pouvez-vous coller dans le contenu de votre index.h Fichier tml.erb –
Annonce klients
<% = link_to 'New klient', new_klient_path%> – Yurish