2011-09-10 47 views
1

我正在使用一個名爲Gmaps4Rails的模塊的地圖應用程序。使用這個gem我定義了從我的模型中獲取圖像的路徑,並且可以基於我使用的一些數據。 它在開發環境中工作正常,但由於找不到圖像文件夾而導致生產中斷。這是怎樣的代碼看起來像模型中:從Rails中的模型獲取圖像的路徑

def gmaps4rails_marker_picture 

    { 
    "picture" => "/images/oilpumpjack.png", 
    "width" => "32", 
    "height" => "32" 
    } 
    end 

有從得到模型中的正確路徑的任何簡單的方法(我不想硬編碼)?

問候, 約翰

+0

你如何訪問圖像在模板中?您的資產目錄是否在生產的其他地方? –

+0

資產目錄與開發時位於相同的位置(相對於應用程序)。我使用內置的gem函數來訪問地圖:= gmaps({「map_options」=> {「zoom」=> 6,「center_latitude」=> 65,「center_longitude」=> -19},「markers」 => {「data」=> @json}}) – gugguson

回答

0

給此一去,它可能工作:

變化

"picture" => "/images/oilpumpjack.png" 

這個

"picture" => "#{Rails.root}/public/images/oilpumpjack.png" 

我是有另一個類似的問題gem.hope它有幫助

編輯

在配置/環境/ production.rb設置

config.serve_static_assets = true 
+0

我越來越近了。這會創建正確的路徑,但現在我得到一個路由錯誤:在09年9月10日星期六開始GET「/var/app/public/images/oilpumpjack.png」爲xxxx 20:52:56 +0000 2011 ActionController :: RoutingError(沒有路由匹配「/var/app/public/images/oilpumpjack.png」): – gugguson

+0

@gugguson請參閱上面的編輯 – Hishalv

+0

不,我正在使用rails 3.0。我已經通過了指示,我正在做正確的事情。非常感謝您的幫助,我將使用默認標記,直到我有時間仔細觀察此問題。 – gugguson

8

如果您使用的鏈輪爲提供圖像,試試這個:

def gmaps4rails_marker_picture  
    { 
    "picture" => ActionController::Base.helpers.asset_path('oilpumpjack.png'), 
    "width" => "32", 
    "height" => "32" 
    } 
end