2012-09-02 68 views
3

我試圖設置我的開發環境以在本地主機中存儲和獲取圖像。 我已經設法將圖像保存在正確的路徑上,但我找不到加載頁面並從資產管道中檢索它們的方法。如何在本地主機上使用rails plus回形針和霧

我有這個在我的模型:

has_attached_file :cover, :styles => {:small => '80x80'}, 
            :storage => :fog, 
            :fog_credentials => {:provider => "Local", 
                 :local_root => "#{Rails.root}/public"}, 
            :fog_directory => 'system/migos', 
            :fog_host => "http://localhost:3000/assets", 
            :default_url => '/assets/missing/:attachment/missing_:class_:style.png', 
            :path => ':rails_env/:class/:attachment/:id_partition/:style/:filename' 

和文件被正確保存到: 公共/系統/ migos /開發/工作組/涵蓋/ 000/000/011 /小/標誌。 PNG

當加載頁面時,它會嘗試獲取從這裏的文件: /assets/localhost/development/workgroups/covers/000/000/011/small/logo.png?1346598225 和失敗。

我在這裏錯過了什麼?

+0

你能告訴我你用來檢索圖像的代碼嗎? –

回答

3
has_attached_file :photo, 
    :url => "/assets/vehicles/:id/:style/:basename.:extension", 
    :path => ":rails_root/public/assets/vehicles/:id/:style/:basename.:extension" 

從上面嘗試的代碼,查詢的網址和路徑,它將返回下一個圖像地址:

http://localhost:3000/assets/vehicles/1/original/72854906.jpg?1346092386 

的文件夾結構,資產/輛/ 1 /原。

+0

好吧,類似這樣的事情,但我試圖,也許錯了,也爲本地使用Fog。在這裏https://github.com/thoughtbot/paperclip#defaults似乎有一個例子,但當頁面嘗試加載圖像時也失敗。 –

+0

是的,我認爲使用顯式localhost:3000作爲霧主機並不好,對於開發環境也許它可以工作,但不一定在TQA或生產環境中,例如在我的情況下,我將部署到端口80下的Tomcat服務器。我認爲你可以用simbol:rails_root替換它(http:// localhost:3000 /)。 –

+0

Fog Local現在可以使用Paperclip並且'fog_host'可以爲空(''''),它將執行相對查找。但是在構建URL時,設置fog_directory似乎被忽略。如果我找到解決方案,我會發佈一個答案。 – PhilT