2014-08-28 47 views
4

我正在嘗試第一次設計。我創建了一個基本的登錄/註銷系統,並試圖創建從控制檯的一些對象,並發現了一些奇怪的:未定義的方法`to_i'從控制檯設計

rails c --sandbox 
Loading development environment in sandbox (Rails 4.1.5) 
Any modifications you make will be rolled back on exit 

Frame number: 0/20 
[1] » u = User.last 
    User Load (0.7ms) SELECT "users".* FROM "users" ORDER BY "users"."id" DESC LIMIT 1 
(pry) output error: #<NoMethodError: undefined method `to_i' for #<Object:0x007fd988871540>> 
[2] » u 
(pry) output error: #<NoMethodError: undefined method `to_i' for #<Object:0x007fd988871540>> 
[3] » u.id 
=> 5 

控制檯怎麼會拋出一個錯誤我的對象嗎?同樣的事情發生與User.last等

這裏是我的架構:

create_table "users", force: true do |t| 
    t.string "email",     default: "", null: false 
    t.string "encrypted_password",  default: "", null: false 
    t.string "reset_password_token" 
    t.datetime "reset_password_sent_at" 
    t.datetime "remember_created_at" 
    t.integer "sign_in_count",   default: 0, null: false 
    t.datetime "current_sign_in_at" 
    t.datetime "last_sign_in_at" 
    t.inet  "current_sign_in_ip" 
    t.inet  "last_sign_in_ip" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
    end 

回答

2

你已經安裝了寶石jazzy_hands?這是我們的理由。

+0

是的,爵士樂手我有!那麼你做了些什麼? – 2014-09-02 10:22:59

+0

好吧,我們只是刪除了爵士手,但朋友告訴我,這個問題直接來自jazz_hand的awesome_print。檢查兩個寶石問題列表,如果你不想刪除jazz_hands,可能有溶劑。 – 2014-09-03 11:43:37

+0

我從來沒有想過awesome_print會導致這個問題。我從我的gemfile中刪除了它,並將其刪除。 – daniel 2014-09-05 00:02:23

4

容易workarond是添加這.pryrc

module AwesomePrint 
    class Formatter 

    private 

    def awesome_self(object, type) 
     if @options[:raw] && object.instance_variables.any? 
     awesome_object(object) 
     elsif object.respond_to?(:to_hash) 
     awesome_hash(object.to_hash) 
     else 
     colorize(object.inspect.to_s, type) 
     end 
    end 
    end 
end 
+0

今天爲我節省了大量的頭痛,這個需要被投得更高,並作爲補丁提交給Awesome Print(如果還沒有的話)。 – baweaver 2015-01-08 01:22:53

相關問題