【问题标题】:ruby can't convert Array into String errorruby 无法将数组转换为字符串错误
【发布时间】:2011-03-09 09:14:19
【问题描述】:

我正在尝试做这个 zip 的事情
http://blog.devinterface.com/2010/02/create-zip-files-on-the-fly/

但是,我对使用返回文件夹内文件的路径方法返回文件路径有点困惑。

       def download_zip(image_list)
       . . .
       image_list.each do |img|
       z.put_next_entry(title)
       z.print IO.read(img.path)
       end

我对 z.print IO.read(img.path) 感到困惑。意味着我需要在 image_list 模式下使用路径方法(不是吗?)。我写下了这个路径方法

        def path
        @files = Dir.glob("C:/myfolder/me/*") 
        @files
        end

我在“me 文件夹”中有一些文件需要返回到 z.print IO.read(img.path) 但我得到一个错误“无法将数组转换为字符串”。谁能指出如何执行可以返回文件并避免数组转换为字符串问题的路径方法?我尝试使用 File.open 而不是 Dir.glob,并在 Windows 中获得权限错误。

感谢您的任何回复

【问题讨论】:

    标签: ruby


    【解决方案1】:

    您的image_list 应该是一个图像数组,每个图像至少实现两种方法 - pathtitle。单个图像只有一个路径-您要在哪里添加该路径方法?您似乎正在尝试将其添加到 image_list,这是一个错误的位置。

    【讨论】:

    • 是的,我在 image_list 下添加方法时迷路了。如果没有,我应该在哪里添加它?
    • image_list的内容是什么?
    • 它只包含 id 和 name。
    • @rahardi: image_list 应该是某种图像容器。什么意思,你的意思是你的image_list是一个普通的类,只有id和name两个属性?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 2014-11-26
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    相关资源
    最近更新 更多