2011-01-20 56 views
3

我正在使用回形針將Excel文件附加到模式。如何在服務器端訪問回形針附件?

目的是將數據從excel文件導入數據庫。

Model: Import 
has_attached_file: spreadsheet 

對於導入過程,我想訪問我的模型中的文件,如下所示。

path = "#{Rails.root}/public/#{spreadsheet.url}"  

這是行不通的。我猜是因爲網址最後有時間戳。

一般來說,訪問服務器端附件的最佳方式是什麼?

回答

5

我認爲你正在尋找的to_file方法。你應該能夠做這樣的事情:

excel_file = self.spreadsheet.to_file 

這將無論是從服務器返回上傳的文件(如果您正在使用S3或遠程存儲),或者如果它已被分配到模型,但不實際上還存儲了它(如果自上載以來尚未調用model.save),它將返回存儲在磁盤上的臨時文件。

從那裏你應該可以使用excel寶石或庫來解析內容。

或者,您可以使用spreadsheet.url(nil, false) - 第二個參數表示是否附加時間戳。

+2

to_file像魅力一樣工作。 – rangalo 2011-01-20 18:26:23

相關問題