rails générer un modèle

J’essaie de suivre les instructions du livre “Head First Rails” et à la page 50, il est écrit pour créer un modèle, mais je ne parviens pas à créer un modèle à l’aide de la commande rails.

Lorsque je tape ceci à cette invite: localhost: ~ home $

rails generate model ad name:ssortingng description:text price:decimal seller_id:integer email:ssortingng img_url:ssortingng 

J’ai compris:

 Usage: rails new APP_PATH [options] Options: -r, [--ruby=PATH] # Path to the Ruby binary of your choice # Default: /Users/home/.rvm/rubies/ruby-1.9.3-p125/bin/ruby -b, [--builder=BUILDER] # Path to a application builder (can be a filesystem path or URL) -m, [--template=TEMPLATE] # Path to an application template (can be a filesystem path or URL) [--skip-gemfile] # Don't create a Gemfile [--skip-bundle] # Don't run bundle install -G, [--skip-git] # Skip Git ignores and keeps -O, [--skip-active-record] # Skip Active Record files -S, [--skip-sprockets] # Skip Sprockets files -d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc) # Default: sqlite3 -j, [--javascript=JAVASCRIPT] # Preconfigure for selected JavaScript library # Default: jquery -J, [--skip-javascript] # Skip JavaScript files [--dev] # Setup the application with Gemfile pointing to your Rails checkout [--edge] # Setup the application with Gemfile pointing to Rails repository -T, [--skip-test-unit] # Skip Test::Unit files [--old-style-hash] # Force using old style hash (:foo => 'bar') on Ruby >= 1.9 Runtime options: -f, [--force] # Overwrite files that already exist -p, [--pretend] # Run but do not make any changes -q, [--quiet] # Suppress status output -s, [--skip] # Skip files that already exist Rails options: -h, [--help] # Show this help message and quit -v, [--version] # Show Rails version number and quit Description: The 'rails new' command creates a new Rails application with a default directory structure and configuration at the path you specify. You can specify extra command-line arguments to be used every time 'rails new' runs in the .railsrc configuration file in your home directory. Note that the arguments specified in the .railsrc file don't affect the defaults values shown above in this help message. Example: rails new ~/Code/Ruby/weblog This generates a skeletal Rails installation in ~/Code/Ruby/weblog. See the README in the newly created application to get going. localhost:~ home$ 

J’utilise Rails -v 3.2.8 et Ruby 1.9.3p125

Le code est correct mais vous vous trouvez dans le mauvais répertoire. Vous devez exécuter ces commandes dans votre répertoire de projet rails.

La manière normale d’y arriver est:

 $ rails new PROJECT_NAME $ cd PROJECT_NAME $ rails generate model ad \ name:ssortingng \ description:text \ price:decimal \ seller_id:integer \ email:ssortingng img_url:ssortingng 

L’erreur montre que vous n’avez pas encore créé le projet rails ou que vous n’êtes pas dans le répertoire du projet rails.

Supposons que si vous travaillez sur un projet myapp. Vous devez vous déplacer vers ce répertoire de projet sur votre ligne de commande, puis générer le modèle. Voici quelques étapes à suivre.

Exemple: En supposant que vous n’avez pas encore créé l’application Rails:

 $> rails new myapp $> cd myapp 

Maintenant, générez le modèle à partir de votre ligne de commande.

 $> rails generate model your_model_name 

Vous devez d’abord créer une nouvelle application de rails. Courir

 rails new mebay cd mebay bundle install rails generate model ... 

Et essayez de trouver le tutoriel Rails 3, il y a beaucoup de changements puisque 2.1 Guides ( http://guides.rubyonrails.org/getting_started.html ) sont un bon sharepoint départ.

Pour moi, ce qui est arrivé, c’est que j’ai généré l’application avec de nouveaux rails avec le nouveau chapitre_2, mais le RVM –default avait des rails de 4.0.2 gem, mais mon projet chapter_2 utilise un nouveau gemset avec des rails 3.2.16.

Alors quand j’ai couru

 rails generate scaffold User name:ssortingng email:ssortingng 

la console a montré

 Usage: rails new APP_PATH [options] 

J’ai donc réparé le RVM et le gemset avec la gemme 3.2.16 de rails, puis généré à nouveau l’application puis j’ai exécuté

  rails generate scaffold User name:ssortingng email:ssortingng 

et ça a marché