我正在使用Devise身份驗證系統的Ruby on Rails應用程序。 https://github.com/plataformatec/deviseRuby on Rails從SQlite數據庫切換到Postgresql給出了未定義的方法`to_sym'爲零:NilClass錯誤
我在互聯網上搜索了一個類似的問題,但對我來說卻無濟於事。我想給你一點背景,這一切都始於2個獨立的應用程序。其中之一是使用設計。我目前正試圖將兩個應用程序混合成一個。即使將模型視圖和控制器放在需要的地方,我也沒有遇到任何問題。但是,我們需要從Sqlite3數據庫切換到Postgresql數據庫。只要我修改database.yml文件以指向新的Postgres數據庫並重新啓動服務器,我就開始在整個應用程序中獲取各種to_sym錯誤,併爲使用Devise添加到應用程序的新功能發送路由錯誤。
在我切換到Postgresql數據庫之前,我通過數據庫轉換器運行了我的developement.sqlite3文件 - 這是我過去沒有遇到過的問題。
我不確定如何調試此應用程序,因爲這些to_sym錯誤在整個過程中都發生。
給你舉一個例子下面是一個停止工作的一個頁面:
NoMethodError主頁#指數
顯示C:/用戶/ chunter33 /桌面/ devise_forem /應用/視圖/layouts/application.html.haml其中行#19提出:
未定義的方法`to_sym」的零:NilClass
16:%A {:HREF => 「#」} = T(」 web-app-theme.profile「,:default =>」Profile「) 17:%li 18:%a {:href =>」#「} = t設置「,:默認=>」設置「) 19: - 如果signed_in? 20:%的Li 21:%一 22:= current_user.email 應用跟蹤:
應用程序/助手/ application_helper.rb:3:`signed_in ?
應用程序/視圖/佈局/ application.html.haml:19: `_app_views_layouts_application_html_haml__944875441_29833656'
注:如果我切換回SQLite的我不再得到任何這樣的錯誤。
我使用Ruby 1.8.7和Rails 3.1
任何想法,我可以開始尋找?
讓我知道是否有任何您需要的附加信息。
它可能在助手中,你是否嘗試加入它,添加一些日誌記錄或binding.pry? –