2010-12-09 3 views
1

Je suis un débutant avec Rails et j'ai essayé de trouver ce qui dans le monde se passe mal ici depuis quelques jours, mais sans aucune chance . J'ai cherché partout, mais je n'ai rien trouvé. Fondamentalement, quand je cours n'importe quelle méthode de ligne de commande, j'obtiendra un NameError. J'ai essayé d'exécuter ceci dans différents répertoires de projet qui fonctionnaient aussi bien. Il semble que les rails soient juste cassés ...Rails donne NameError pour toutes les méthodes de ligne de commande telles que générer ou rayer

Je cours Win7-32bit utilisant NetBeans 6.9.1 pour éditer des fichiers et cmd.exe pour la console courante de rails.

Tout fonctionnait correctement depuis environ deux semaines et cela a soudainement commencé à se produire. Voici quelques exemples:

rails génèrent modèle:

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

rails génèrent la migration:

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

rake db: migrate:

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

Toute sorte d'aide serait très appréciée. Merci!

Répondre

5

Ces commandes ne fonctionnent pas depuis irb, vous devez les démarrer directement à partir de cmd.exe.

0

Oui, dhofstet a raison: ce sont toutes des commandes pour l'invite de Windows, ils sont pas ruby ​​instructions.

1

Je prendrais l'initiative d'élaborer la réponse de @ dhofset. Fondamentalement, nous utilisons des commandes liées à l'application rails dans la console directement et non dans la console IRB. Même moi, je travaille sur les fenêtres pour que je vous donne cela avec quelques exemples

Voici ce que vous faites

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 

espère que vous avez une meilleure compréhension maintenant.

Questions connexes