2013-02-20 82 views
8

我想在我的rails 3.2應用程序中使用gem「better_errors」,但它仍然是顯示的默認錯誤頁面。Gem「better_errors」不工作 - Rails 3.2

在我的Gemfile:

group :development do 
    gem 'quiet_assets', '>= 1.0.1' 
    gem 'better_errors', '>= 0.3.2' 
    gem 'binding_of_caller', '>= 0.6.8' 
end 

我做了一個 「包安裝」,然後

bundle show better_errors 
/usr/local/lib/ruby/gems/1.9.1/gems/better_errors-0.5.0 

似乎一切都配置好。

我跑我的Rails服務器的開發環境

rails s -e development 

任何想法? 非常感謝。

+1

重新啓動服務器導軌.. – 2013-02-20 11:42:30

回答

23

我在同樣的問題上撓了撓腦筋。我終於發郵件給查理了,他回答了我一個小時左右的回答:「你需要在localhost上使用better_errors」

我一直在Windows 7主機上的Ubuntu VM中開發並瀏覽網站從Windows。儘管存在安全風險,但您可以按照以下說明進行操作:https://github.com/charliesome/better_errors#security

我希望這可以解決您的問題。

+8

上面的解決方案是把它放在'config/environments/development.rb'中: 'BetterErrors :: Middleware.allow_ip! '192.168.10.14'' – zwippie 2013-03-07 21:01:52

+0

是的,這就是我最終做的。查理還提到你可以使用SSH端口轉發使它看起來像你在本地主機上運行。這可以保持您的導軌環境以外的孔。 – 2013-03-08 16:27:58

+0

然而,當你在生產中部署時會發生什麼?在嘗試部署時,我一直遇到BetterErrors未初始化的問題 – Batman 2015-07-21 06:10:51

1

你可以按照這個情節railscast的:

http://railscasts.com/episodes/402-better-errors-railspanel

這是我group developmentbetter_errors寶石:

group :development do 
    gem 'better_errors' 
    gem 'binding_of_caller' 
    gem 'meta_request' 
end 

您可以按照下列步驟操作:

更新better_error寶石最後的版本!

1º卸載current version of better_error寶石與命令gem uninstall better_errors

2º然後取出'>= 1.0.1''>= 0.3.2''>= 0.6.8'你的寶石文件,然後運行命令bundle install

商祺!

+0

謝謝,但它沒有工作。甚至RailsPanel與meta_request不起作用:-(我沒有任何配置/初始化/ better_errors.rb是正常的? – Gozup 2013-02-20 10:09:18

+0

我已經更新了我的回覆。請按照這些步驟! – hyperrjas 2013-02-20 10:27:00

+0

它讓我發瘋。 ': 使用better_errors(0.6.0) 使用debug_inspector(0.0.2) 使用binding_of_caller(0.7.1) 但一切都沒有改變 – Gozup 2013-02-20 10:39:51

1

你可以嘗試一個包更新?因爲我現在的版本是0.6.0。

此外,如果你沒有500內部服務器錯誤,我不使用config /初始化/ better_errors.rb文件

檢查服務器日誌,當我在阿賈克斯後的車型得到了他們更新我沒有看到better_errors頁面。

3

添加行./config/environments/development.rb

BetterErrors :: Middleware.allow_ip!「CLIENT_IPADDR」

,並重啓軌服務器