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é