禁用緩存文件名這是我的代碼,以獲得UUID:Rails 3中 - 在file_column插件
def manage_id
self.id = UUIDTools::UUID.random_create().to_s.upcase if self.id.blank?
end
這完全適用於我的對象的主鍵。
我的問題是我想用一個UUID命名一個上傳的文件......並且我爲不同的上傳獲得相同的UUID。例如,我將有一個UUID,2分鐘後,另一個對象將具有相同的UUID!
這是類代碼來命名我的形象:
:filename => "#{UUIDTools::UUID.random_create().to_s.upcase}.jpg" }
我不明白生成UUID什麼時候可以是問題...
我的發展有沒有問題! !
編輯1:這個問題是不是與自身UUID,這是一個時間戳一樣...(只有在製作)
編輯2:我發現這個問題。設置:
config.cache_classes =真
是在生產模式的問題。它確實將UUID保存在內存中。
我認爲我不能在生產模式(爲了性能)切換到false,那麼停用此插件名稱功能的緩存的最佳方法是什麼?
編輯3:我補充完整的代碼我的模型的
class Product < ActiveRecord::Base
file_column :image, {:magick => { :versions => { "tiny" => "70x70", "small" => "160x240", "high" => "640x960" }}, :store_dir => "public/upload/wine/image", :web_root => "upload/", :filename => "#{UUIDTools::UUID.timestamp_create().to_s.upcase}.jpg" }
end
所以,正如我所說的所產生的UUID生產緩存。我不知道如何強制這個模型或插件file_column不被緩存?
添加代碼PLZ – Fivell 2012-04-25 15:36:07
的全例子我加入了完整的代碼。謝謝。 – 2012-04-25 15:59:02
老實說,我無法找到關於這個插件的文件名選項的聲明。你使用這個https://github.com/tekin/file_column? – Fivell 2012-04-25 23:17:35