ruby-on-rails - 在临时文件保存到Rails模型之前,先打开它

标签 ruby-on-rails paperclip

上传文件后,是否可以在保存模型之前打开该文件?

我正在使用Paperclip将文件保存在/public文件夹中。

class Book < ActiveRecord::Base
  before_save :open_it
  has_attached_file :upload

  def open_it
    a_file = open(upload.url) # this doesn't work before save ?
    # ... 
  end
end

最佳答案

找到了:

def model_method
  f = open(self.upload.queued_for_write[:original].url)
end

更新:

根据生态学的回应,对于较新版本的Paperclip gem,请使用.path而不是.url

关于ruby-on-rails - 在临时文件保存到Rails模型之前,先打开它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16369233/

相关文章:

ruby-on-rails - Rails 使用嵌套表单和回形针 gem 不允许的参数

ruby-on-rails - 如何使用回形针检查一个文件是否等于目录中的另一个文件

ruby-on-rails - 我在哪里可以找到 Apache-Passenger 配置文件?

ruby-on-rails - 即使安装了 libv8,Gem therubyracer 也不会安装

ruby-on-rails - 收到此错误 : param is missing or the value is empty: series

ruby-on-rails - 如何在 Haml 中撤消 Rails 模板生成?

mysql - Rails/MySQL 查询,其中第三级连接 ID 不存在

ruby-on-rails - 回形针错误 : Filename not recognized by the 'identify' command - ImageMagick

ruby-on-rails - rails/回形针 : file_field not displaying

ruby-on-rails - Rails PaperClip Errno::EACCES(权限被拒绝@dir_s_mkdir - ~rails