2

私はRailsの初心者で、ここ数日間、世界で何がうまくいかないのかを見つけようとしてきましたが、まったく運がありません. あちこち探しましたが、何も見つかりませんでした。基本的に、何らかのコマンド ライン メソッドを実行すると、NameError が発生します。以前は機能していた別のプロジェクトディレクトリでもこれを実行しようとしました。レールが壊れているようです...

ファイルの編集には NetBeans 6.9.1 を使用し、Rails コンソールの実行には cmd.exe を使用して Win7-32​​bit を実行しています。

約 2 週間、すべてが正常に機能していましたが、突然この問題が発生し始めました。以下にいくつかの例を示します。

レールはモデルを生成します:

irb(main):004:0> rails generate model datatest  
NameError: undefined local variable or method `datatest' for main:Object  
from (irb):4  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:44:in `start'  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:8:in `start'  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:23:in `<top (required)>'  
from script/rails:6:in `require'  
from script/rails:6:in `<main>' 

レールは移行を生成します:

irb(main):003:0> rails generate migration rename_password_to_hashed_password  
NameError: undefined local variable or method `rename_password_to_hashed_password' for main:Object  
from (irb):3  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:44:in `start'  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:8:in `start'  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:23:in `<top (required)>'  
from script/rails:6:in `require'  
from script/rails:6:in `<main>' 

レーキ データベース:移行:

irb(main):005:0> rake db:migrate  
NameError: undefined local variable or method `migrate' for main:Object  
from (irb):5  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:44:in `start'  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:8:in `start'  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:23:in `<top (required)>'  
from script/rails:6:in `require'  
from script/rails:6:in `<main>' 

どんな種類の助けも非常に高く評価されます。ありがとう!

4

3 に答える 3

5

これらのコマンドはirb内からは機能しません。これらのコマンドは、cmd.exeから直接起動する必要があります。

于 2010-12-09T06:11:49.597 に答える
1

私は@dhofsetの答えを詳しく説明するイニシアチブを取ります。基本的に、irbコンソールではなく、コンソールでRailsアプリ関連のコマンドを直接使用します。私も窓に取り組んでいるので、いくつかの例でこれを紹介します

これはあなたがすることです

1. Create new App
C:\Users\rohit>rails new_app

2. Generate a scaffold
C:\Users\rohit\new_app>ruby script\generate scaffold User name:string

3. Generate a model
C:\Users\rohit\new_app>ruby script\generate model User name:string

4. To run a rake task
C:\Users\rohit\new_app>rake db:create
C:\Users\rohit\new_app>rake db:migrate

あなたが今よりよく理解していることを願っています。

于 2010-12-09T07:34:45.060 に答える
0

うん、dhofstet は正しい。これらはすべて Windows プロンプトのコマンドであり、Ruby ステートメントではない。

于 2010-12-09T06:17:56.317 に答える