1

我已經添加gem simple-navigation 3.9.0到我的gemfile 軌3.2.11它運行良好的發展。然而,當我部署到我的生產服務器,並嘗試打開一個網頁,我得到以下錯誤的方法:生產沒有找到某些寶石方法

undefined method `render_navigation' 

我不相信這是特定於一個寶石雖然,因爲我有同樣的問題早些時候我使用uuid gem

使用$ LOADED_FEATURES我發現「simple_navigation」,所以它似乎被加載。

信息對生產服務器

nginx 1.2.6 
Unicorn 4.5.0 
Rubygems 1.8.23 
Ubuntu 12.04 LTS 
rbenv 0.4.0-9-g045f6c1 

編輯

其他寶石,這個服務器運行正常,除了上述問題。

+0

您是否需要重新啓動生產服務器? – Geoff

+0

這是我的第一個想法,但我已經重新啓動了nginx和獨角獸都沒有運氣。在我得到錯誤後,我甚至會重新安裝nginx,以便在沒有任何更改的情況下使用mp4進行編譯。 – amunds

+0

你把你的導航放在哪裏?rb'文件?/config文件夾中的 –

回答

0

雖然技術上不是答案,但我決定作爲我的主機切換到Linode。這涉及到完全重新安裝我的服務器設置,現在它正在工作。我做了與上次一樣安裝服務器的完全相同的步驟,所以我仍然不確定有什麼問題,或者它是否可以輕鬆解決。由於我不再擁有舊的服務器,因此無法確認從現在開始提出的任何解決方案。

我打算將此答案標記爲解答,除非在接下來的48小時內有任何異議。

0

話雖如此,我對Rails的暴露程度非常有限,但當Gemfile.lock未提交到存儲庫時,我看到了類似的行爲。因此,當項目被推到生產環境時,有一些依賴解決的問題。

+0

我確定Gemfile.lock文件存在並且是最新版本(包括簡單導航gem),我還使用$ LOADED_FEATURES在控制檯中找到了gem。 – amunds

1

務必先在Gemfile中

development組中的寶石沒有在production加載您的創業板未聲明的development組內。

group :development do 
    gem "simple-navigation" 
end 

另外,如果你有一個<APP_HOME>/.bundle/config文件,確保它不具有BUNDLE_WITHOUT選項。

的Gemfile

group :ui do 
    gem "simple-navigation" 
end 

.bundle /配置

--- 
BUNDLE_WITHOUT: ui 

在上面的例子中,寶石組ui不會被加載。

+0

它不在Gemfile中的任何特定組中,應該在所有環境中加載。 – amunds

0

你試過RAILS_ENV=production bundle install

相關問題