2010-12-09 10 views
1

我是Rails的初學者,我一直試圖找出在過去的幾天裏,世界上哪裏出了問題,但絕對沒有運氣。我到處搜索,但什麼都沒找到。基本上,當我運行任何類型的命令行方法時,我會得到一個NameError。我曾嘗試在不同的項目目錄中運行這個以前的工作。看來,軌道只是壞了...Rails爲所有命令行方法(比如生成或耙動)提供了NameError

我運行Win7-32​​bit使用NetBeans 6.9.1編輯文件和cmd.exe運行rails控制檯。

一切都工作正常約兩週,然後這開始突然發生。這裏有幾個例子:

軌生成模式:

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>' 

任何形式的幫助將非常感激。謝謝!

回答

5

這些命令不能從irb中運行,您必須直接從cmd.exe啓動它們。

0

是的,dhofstet有它的權利:這些都是Windows提示符的所有命令,它們是而不是 ruby​​語句。

1

我會主動闡述@ dhofset的答案。基本上我們直接在控制檯中使用rails應用程序相關的命令,而不是在irb控制檯中。即使我在Windows上工作,所以我給你這有幾個例子

這是你做了什麼

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 

希望你有一個更好的瞭解了。

相關問題