應用程序在開發模式下運行平穩,但將其部署到託管服務器上會顯示public/500.html頁面(「很抱歉,但出錯了」) ,看起來什麼時候內容查詢mysql數據庫。放置靜態內容的作品,令人困惑的動態內容只能在本地開發。生產模式中的Rails問題,mysql數據庫
rake db:migrate正常運行,我手動插入了一個測試條目到mysql數據庫。
然而,在請求500的查看結果和日誌給
ActionView::Template::Error (NULL pointer given):
10: ...
11: <% @projects.each do |project| %>
12: ...
服務器運行MySQL的54年1月5日,Rails已經安裝mysql的寶石。 任何提示讚賞!
編輯:
所以我只是在遠程服務器上啓動
rails c production
,並在我的 「客戶端」 模式創建的條目:
irb(main):003:0> c = Client.new => #<Client id: nil, name: nil, permalink: nil, created_at: nil, updated_at: nil> irb(main):004:0> c.name = "realclient" => "realclient" irb(main):005:0> c => #<Client id: nil, name: "realclient", permalink: nil, created_at: nil, updated_at: nil> irb(main):006:0> c.save => true
雖然除之外的所有字段n AME在IRB都顯示爲空,實際的數據庫服務器上顯示所有repective領域好嗎:
2 realclient realclient 2011-04-22 13:59:12 2011-04-22 13:59:12
(ID,姓名,永久鏈接,創建,更新)
所以底線:活動記錄不能接收值正確地從數據庫中實際存在?
'RAILS_ENV =生產耙分貝:migrate'去正常,已成功創建的所有表。因此我們可以將database.yml視爲正確的? '--trace'顯示沒有錯誤。 剛剛刪除了數據庫,並進行了全新遷移。所以,當沒有條目存在時,視圖呈現正常。只要數據庫得到填充,並且確實有某些內容可以查詢錯誤500中的視圖結果。您是否還有其他想法?非常感謝! – David 2011-04-22 06:51:54
此外,我建立了與MySQL 4.x版,而不是之前的5.0版本另一個數據庫,但填充時錯誤仍然存在。 我也雙重檢查而被發現OK了一些捆綁的寶石。 任何人知道如何從Apache或乘客日誌讀取受管服務器上的更多信息? (不知道如何拿到手上的那些) 似乎-f'不來這裏幫助從'尾巴的消息。 – David 2011-04-22 08:10:19
我不知道還有什麼其他的差別有可能是您的Web服務器實例和命令行之間。服務器如何運行你的Rails應用程序?也許Web服務器使用不同的Ruby(因此是一個不同的MySQL寶石)? – smathy 2011-04-22 15:04:55