我正在使用paperclip将excel文件附加到某个模式。
目的是将数据从excel文件导入数据库。
Model: Import
has_attached_file: spreadsheet
对于导入过程,我想访问模型中的文件,如下所示。
path = "#{Rails.root}/public/#{spreadsheet.url}"
这不起作用。我猜是因为网址末尾有时间戳。
一般来说,访问服务器端附件的最佳方法是什么?
答案 0 :(得分:5)
我认为您正在寻找to_file
方法。你应该可以这样做:
excel_file = self.spreadsheet.to_file
将从服务器返回上传的文件(如果您使用的是s3或远程存储),或者是否已将其分配给模型但尚未实际存储(如果您之前未调用过model.save)它被上传了,它返回存储在磁盘上的临时文件。
从那里你应该可以使用excel gem或库来解析内容。
或者,您可以使用spreadsheet.url(nil, false)
- 第二个参数表示是否附加时间戳。
答案 1 :(得分:1)