352 votes

l'utilisation de «rails génèrent un échafaudage» lorsque le modèle existe déjà

Je suis nouveau sur les rails, donc mon projet actuel est dans un drôle d'état. Une des premières choses que j'ai créé était un "Film" de modèle. J'ai alors commencé à le définir plus en détail, ajouté un peu de méthodes, etc.

Comme un débutant développeur rails je suis en train de réaliser que je devrait l'avoir créé avec "rails generate scaffold" à accrocher à des choses comme le routage, vue, contrôleur, etc.

J'ai essayé de générer les échafaudages, mais j'ai eu un message d'erreur indiquant un fichier de migration avec le même nom existe déjà.

Quelle est la meilleure façon pour moi de créer un échafaudage pour mon "Film" maintenant? (à l'aide de rails 3)

632voto

Lee Jarvis Points 7909

Même si vous avez déjà un modèle, vous pouvez toujours générer le nécessaire contrôleur et de la migration des fichiers à l'aide de la rails generate option. Si vous exécutez rails generate -h vous pouvez voir toutes les options disponibles pour vous.

Rails:
  controller
  generator
  helper
  integration_test
  mailer
  migration
  model
  observer
  performance_test
  plugin
  resource
  scaffold
  scaffold_controller
  session_migration
  stylesheets

Si vous souhaitez générer un contrôleur échafaudage pour votre modèle, reportez - scaffold_controller. Juste pour plus de clarté, voici la description:

Talons un échafaudée contrôleur et son point de vue. Passer le nom du modèle, soit en Camelcase ou under_scored, et une liste de points de vue en tant qu'arguments. Le nom du contrôleur est extrait sous la forme d'une pluralisation de la version du modèle nom.

Pour créer un contrôleur à l'intérieur d'un module, spécifiez le nom du modèle, comme un chemin d'accès comme "parent_module/nom_controller'.

Cela génère une classe de contrôleur dans app/controllers et invoque helper, le moteur de modèle et de tester cadre des générateurs.

Pour créer vos ressources, vous pouvez utiliser l' resource générateur, et à créer une migration, vous pouvez également voir l' migration générateur (voir, il ya une tendance à tout cela la folie). Ceux-ci fournissent des options pour créer les fichiers manquants pour construire une ressource. Alternativement, vous pouvez simplement exécuter rails generate scaffold avec l' --skip option pour ignorer tous les fichiers qui existent :)

Je recommande de passer peu de temps à regarder les options de générateurs de l'intérieur. Ils sont quelque chose que je ne ressens sont extrêmement bien documenté dans les livres et dans ces, mais ils sont très pratique.

33voto

frenesim Points 153

Pour ceux qui démarrent une application rails avec une base de données existante, il y a une gemme sympa appelée schema_to_scaffold pour générer un script d'échafaudage. il sort: rails g échafaudage utilisateurs fname: string lname: string bdate: date email: string encrypted_password: chaine de votre schema.rb notre votre schema.rb renommé. Vérifie ça

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X