2012-05-24 47 views
0

我有這個愚蠢的東西......我敢肯定我只是想念一些明顯的東西,但yahoogling沒有解決問題。Rails生成腳手架 - > NameError:未初始化的常量

所有我能做的就是

rails new TestApp 

cd TestApp 
rails generate scaffold User name:string age:integer 
bundle exec rake db:create 
bundle exec db:migrate 

工作正常。

但是當我去IRB時,沒有用戶!

u = User.first 
    NameError: uninitialized constant User 
    from (irb):3 
    from /usr/bin/irb:12:in `<main>' 

這裏有什麼問題?

乾杯

回答

8

不要使用內部評級法,而不是:

rails console 

這將對你的項目進口的每一個模型。

+0

我建議你添加User.create位到你的答案,因爲它也是OP代碼中的問題。這樣,有這個問題的其他人將立即看到整個答案,而不僅僅是部分答案。 – vlasits

+0

感謝您的建議@vlasits,但我認爲問題的問題只是模型用戶和每個鋼軌依賴沒有被加載,所以如果你嘗試使用它,irb會引發異常。如果你在Rails控制檯中調用User.first,你不會得到任何錯誤,只是一個空列表(或者一個空值,現在不記得) – davids

+0

是的。你是對的,錯誤的原因是rails應用程序沒有加載,但OP期望User.first會產生一個非空的響應(「但是當我去IRB時,沒有用戶! )。無論如何,適合自己,你的*是*正確答案。 – vlasits

2

您尚未創建一個用戶,你所使用的rails console老式IRB代替。

打開rails console和嘗試:

User.create(:name => "Jimmy", :age => 14) 

然後嘗試

u = User.first 
+0

也正確的,謝謝。只需幾秒鐘。 – EasierSaidThanDone

+0

是的,@davids無論如何都值得它,因爲我的第一個想法是User.create之一,只有當我看到他的答案後,我添加了滑軌控制檯位。:)你需要兩個都得到快樂,但他是更重要的建議。 – vlasits

相關問題