加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 有没有人能够使用attachment_fu来使用rails 3

发布时间:2020-12-17 04:31:28 所属栏目:百科 来源:网络整理
导读:我有一个rails应用程序正在从Rails 2.3.5升级到Rails 3.它使用attachment_fu进行文件上传.我们尝试在不进行数据库更改的情况下进行此转换,因此我希望此时不要更改为paperclip或carrierwave. 有没有人成功使用attachment_fu与Rails 3和Ruby 1.9.2?我们正在使
我有一个rails应用程序正在从Rails 2.3.5升级到Rails 3.它使用attachment_fu进行文件上传.我们尝试在不进行数据库更改的情况下进行此转换,因此我希望此时不要更改为paperclip或carrierwave.

有没有人成功使用attachment_fu与Rails 3和Ruby 1.9.2?我们正在使用最新版本的attachment_fu,声称可以使用rails 3和ruby 1.9.2,但是在任何包含文件上传的表单上都会出现’TypeError(无法将nil转换为整数).

以前问题的所有答案似乎都只是“切换到回形针或载波”,如下所示:
Attachment_fu or Paperclip for Rails3
要么
TypeError (can’t convert nil into Integer):

谢谢!

解决方法

我做了以下更改,但它确实有效

attachment_fu.rb

def temp_path
  p = temp_paths.first
  if p.is_a?(ActionDispatch::Http::UploadedFile) # Rails 3.0.3 compatability fix
    p.tempfile.path
  else
    p.respond_to?(:path) ? p.path : p.to_s
  end
end

我也改变了返回的filename.strip do | name | to filename.strip.tap do | name |

init.rb

def make_tmpname(basename,n)
  ext = nil
  n ||= 0
  sprintf("%s%d-%d%s",basename.to_s.gsub(/.w+$/) { |s| ext = s; '' },$$,n,ext)
end

我在github上用这个改变做了一个分叉
https://github.com/debprado/attachment_fu

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读