我正在使用回形针将Excel文件附加到模式。如何在服务器端访问回形针附件?
目的是将数据从excel文件导入数据库。
Model: Import
has_attached_file: spreadsheet
对于导入过程,我想访问我的模型中的文件,如下所示。
path = "#{Rails.root}/public/#{spreadsheet.url}"
这是行不通的。我猜是因为网址最后有时间戳。
一般来说,访问服务器端附件的最佳方式是什么?
我正在使用回形针将Excel文件附加到模式。如何在服务器端访问回形针附件?
目的是将数据从excel文件导入数据库。
Model: Import
has_attached_file: spreadsheet
对于导入过程,我想访问我的模型中的文件,如下所示。
path = "#{Rails.root}/public/#{spreadsheet.url}"
这是行不通的。我猜是因为网址最后有时间戳。
一般来说,访问服务器端附件的最佳方式是什么?
我认为你正在寻找的to_file
方法。你应该能够做这样的事情:
excel_file = self.spreadsheet.to_file
这将无论是从服务器返回上传的文件(如果您正在使用S3或远程存储),或者如果它已被分配到模型,但不实际上还存储了它(如果自上载以来尚未调用model.save),它将返回存储在磁盘上的临时文件。
从那里你应该可以使用excel宝石或库来解析内容。
或者,您可以使用spreadsheet.url(nil, false)
- 第二个参数表示是否附加时间戳。
to_file像魅力一样工作。 – rangalo 2011-01-20 18:26:23