web-dev-qa-db-fra.com

rails générer un modèle

J'essaie de suivre les instructions du livre "Head First Rails" et à la page 50, il est indiqué de 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:string description:text price:decimal seller_id:integer email:string img_url:string

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

50
Livi17

Le code est correct mais vous êtes dans le mauvais répertoire. Vous devez exécuter ces commandes dans votre Rails répertoire-projet.

Le moyen habituel pour y arriver à partir de zéro est:

$ Rails new PROJECT_NAME
$ cd PROJECT_NAME
$ Rails generate model ad \
    name:string \ 
    description:text \
    price:decimal \
    seller_id:integer \
    email:string img_url:string
83
Marcel Hebing

L'erreur indique que vous n'avez pas encore créé le projet Rails ou que vous n'êtes pas dans le répertoire Rails du projet.

Supposons que si vous travaillez sur le projet myapp. Vous devez accéder à ce répertoire de projet sur votre ligne de commande, puis générer le modèle. Voici quelques étapes que vous pouvez consulter.

Exemple: en supposant que vous n'avez pas encore créé l'application Rails:

$> Rails new myapp
$> cd myapp

Générez maintenant le modèle à partir de votre ligne de commande.

$> Rails generate model your_model_name 
9
Prabhakar

Pour moi, ce qui s’est passé, c’est que j’ai généré l’application avec Rails new Rails new chapter_2, mais le RVM --default avait Rails = 4.0.2 gem, mais mon projet chapter_2 utilise un nouveau gemset avec Rails 3.2.16.

Alors quand j'ai couru

Rails generate scaffold User name:string email:string

la console a montré

Usage:
   Rails new APP_PATH [options]

J'ai donc corrigé le RVM et le gemset avec le Rails 3.2.16 gem, puis j'ai généré l'application à nouveau, puis j'ai exécuté

 Rails generate scaffold User name:string email:string

et cela a fonctionné

2
JPRLCol

Vous devez d'abord créer une nouvelle Rails. Exécutez

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

Et essayez de trouver Rails 3 tutoriel, il y a beaucoup de changements depuis la version 2.1 Guides ( http://guides.rubyonrails.org/getting_started.html ) sont bons point de départ.

2
dimuch