TypeError没有将PicUploader隐式转换为String

时间:2016-08-04 12:05:54

标签: ruby-on-rails ruby excel carrierwave axlsx

我正在使用axlsx-rails生成包含我的用户实体中的信息的Excel工作表。当我尝试将图像放入Excel工作表时出现问题。我正在使用carrierwave 0.11.2并且我确保我已正确设置它,我有保留图像的字符串列profile_pic,我有上传器PicUploader并且已安装给用户。 carrierwave实现工作正常,图片显示在用户的“显示”页面,但是当我尝试按照axlsx示例将图像放入工作表中时

 img = File.expand_path(@user.profile_pic, __FILE__)
sheet.add_image(:image_src => img, :noSelect => true, :noMove => true) do |image|
        image.width=420
        image.height=669
    end

我得到了TypeError no implicit conversion of PicUploader into String
知道可能导致这种情况的原因吗?

1 个答案:

答案 0 :(得分:1)

据说expand_path需要一个字符串,而不是PicUploader类作为参数。尝试

img = File.expand_path(@user.profile_pic.current_path, __FILE__)