2012-08-12 23 views
34

"Head First Rails" kitabındaki yönergeleri izlemeyi deniyorum ve sayfa 50'de bir model oluşturmak için söylüyorum ancak raylar komutunu kullanarak bir model oluşturamıyorum.raylar model oluşturmak

Bu isteminde bu yazdığınızda: localhost: ~ eve $

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

Ben bu olsun:

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$ 

kullanıyorum Rails -v 3.2.8 ve Yakut 1.9.3p125

+0

raylarınızdaki projenize cd yaptınız mı? – PeterWong

+0

Bence sorun bu olabilir. Proje dirim yok. Kitap raylar 2.1 sürümü için yazılmıştır. Bu eğitimde 'raylar mebay' kullanarak bir dizin oluşturmaktaydım ancak bu komut Rails 3.2.8'de çalışmıyor. 'Raylar yeni mebay' kullanmamalıyım çünkü modelleri ve denetleyicileri el ile oluşturmam gerekiyor. Kitapta bir adım eksik olduğunu düşünüyorum. – Livi17

cevap

63

Kod tamam, ancak yanlış dizinde bulunuyorsunuz. Bu komutları raylar proje dizininde çalıştırmalısınız.

sıfırdan oraya normal bir yoludur: Öncelikle yeni raylar uygulama oluşturmak için gereken

$ 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 
+1

Bu derste, modellerin ve denetleyicilerin manuel olarak nasıl oluşturulacağını göstermesi amaçlanmıştır. "Raylar yeni mebay" kullanarak bir iskele uygulaması oluşturur, ancak bir iskele uygulaması ihtiyaç duyduğumuzdan daha fazlasını sağlar. Bu yüzden ilk önce modeli "raylar model reklam blah: string" kullanarak manuel olarak oluşturmamız gerekiyor. Bunun dışında, öncelikle uygulama dizinini nasıl oluşturacağımızı anlatmaz. Kitapta bir adım eksik olduğunu düşünüyorum. – Livi17

+0

Önerinizi – Livi17

+0

üstünde deneyeceğim "Raylar yeni mebay" komutu bir iskele uygulaması oluşturmuyor. Sadece bir raylar-app skaleton üretir. Bu olmadan, başvurunuzu yazmaya başlayamazsınız. –

2

.

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

Run Ve Raylar 3 öğretici bulmaya, 2.1 Kılavuzları (http://guides.rubyonrails.org/getting_started.html) beri değişikliklerin bir sürü iyi bir başlangıç ​​noktası bulunması halinde. ne Benim için

1

Ben raylar yeni raylar yeni chapter_2 ama raylar 4.0.2 mücevher vardı --default RVM uygulamayı oluşturduğu, ama benim chapter_2 proje rayları 3.2.16 ile yeni gemset kullanın.

yüzden konsol

Usage: 
    rails new APP_PATH [options] 

yüzden RVM ve 3.2.16 mücevher raylar gemset sabit gösterdi, sonra sonra uygulamayı tekrar oluşturulan

rails generate scaffold User name:string email:string 

bitince

rails generate scaffold User name:string email:string 

infaz ve

çalıştı
7

Hata, henüz raylar projesini oluşturmadığını veya raylar proje dizininde bulunmadığınızı gösterir. Myapp projesi üzerinde çalışıyorsanız, varsayalım. Komut satırındaki proje dizinine geçip modeli oluşturmalısınız. İşte başvurabileceğiniz bazı adımlar.

Örnek: Henüz Raylar uygulamasını yaratmadı seni varsayarsak:

$> rails new myapp 
$> cd myapp 

Şimdi komut ile model oluşturmak.

$> rails generate model your_model_name 
İlgili konular