Ruby on rails 3 回形针用什么方法清理文件名?

Ruby on rails 3 回形针用什么方法清理文件名?,ruby-on-rails-3,paperclip,Ruby On Rails 3,Paperclip,Thoughtbot的回形针gem(V3.2.1)将清理文件名,用下划线替换空格和其他特殊字符。我正在重新导入数据,需要检查附件是否已上载,但原始文件名可能与回形针中的附加文件名不匹配。回形针是用什么方法清理的?在源代码中找到了答案。这是一个私有实例方法Paperclip::Attachment#cleanup_filename。(由于这是一项短期(一次性)导入任务,我不介意使用未发布方法的(轻微)风险。) 因此,我的代码看起来是这样的(Post有很多:附件;附件有附件文件:附件) 我发现这对我

Thoughtbot的回形针gem(V3.2.1)将清理文件名,用下划线替换空格和其他特殊字符。我正在重新导入数据,需要检查附件是否已上载,但原始文件名可能与回形针中的附加文件名不匹配。回形针是用什么方法清理的?

在源代码中找到了答案。这是一个私有实例方法Paperclip::Attachment#cleanup_filename。(由于这是一项短期(一次性)导入任务,我不介意使用未发布方法的(轻微)风险。)

因此,我的代码看起来是这样的(Post有很多:附件;附件有附件文件:附件)


我发现这对我有用:
cleaned\u filename=post.plan\u pdf.send(:cleanup\u filename,plan\u pdf\u name)
其中post是数据库中的新记录或找到的记录。谢谢(这并不是回答最初的问题,只是找到了一种通过您调用cleanup_文件名的干净方法)
   if @post.attachments.present?
      cleaned_filename = @post.attachments.first.attached.send :cleanup_filename, filename 
      if @post.attachments.map(&:attached_file_name).include? cleaned_filename
        puts "already attached: #{filename}"
        return
      end
    end
    puts "attaching upload: #{filename}"