web-dev-qa-db-ja.com

railsモデルを生成

「Head First Rails」という本の指示に従おうとしていますが、50ページにモデルの作成が記載されていますが、Railsコマンドを使用してモデルを作成できません。

このプロンプトでこれを入力すると:localhost:〜home $

 Rails generate model ad name:string description:text price:decimal seller_id:integer email:string img_url:string

私はこれを得る:

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$ 

Rails -v 3.2.8およびRuby 1.9.3p125を使用しています

50
Livi17

コードは問題ありませんが、間違ったディレクトリにいます。これらのコマンドは、Railsプロジェクトディレクトリ内で実行する必要があります。

最初からそこに到達する通常の方法は次のとおりです。

$ 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

このエラーは、Railsプロジェクトをまだ作成していないか、Railsプロジェクトディレクトリにいないことを示しています。

Myappプロジェクトで作業しているとします。コマンドラインでそのプロジェクトディレクトリに移動し、モデルを生成する必要があります。参照できる手順を次に示します。

例:Railsアプリをまだ作成していないと仮定します:

$> Rails new myapp
$> cd myapp

ここで、コマンドラインからモデルを生成します。

$> Rails generate model your_model_name 
9
Prabhakar

私にとっては、Rails new Rails new chapter_2でアプリを生成しましたが、RVM --defaultにはRails 4.0.2 gemがありましたが、chapter_2プロジェクトはRails 3.2.16で新しいgemsetを使用します。

だから私が走ったとき

Rails generate scaffold User name:string email:string

コンソールが示した

Usage:
   Rails new APP_PATH [options]

そこで、RVMとgemsetをRails 3.2.16 gemで修正し、アプリを再度生成してから実行しました

 Rails generate scaffold User name:string email:string

そしてそれは働いた

2
JPRLCol

最初に新しいRailsアプリケーションを作成する必要があります。走る

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

Rails 3チュートリアルを見つけてください。2.1ガイド( http://guides.rubyonrails.org/getting_started.html )が良い出発点なので、多くの変更点があります。

2
dimuch