2016-08-04 6 views
0

axlsx-railsを使用して、私のUserエンティティにある情報を含むExcelシートを生成しています。問題は、私がExcelシートに画像を入れようとするときに発生します。私はcarrierwave 0.11.2を使用しています。私は正しく設定したことを確認しました。イメージを保持している文字列profile_picがあります。アップローダーPicUploaderがあり、それがユーザーにマウントされています。 carrierwaveの実装では正常に動作、および画像は、ユーザーの「ショー」ページに表示されますが、私は、このようなTypeErrorはPicUploaderを暗黙的に文字列に変換しません

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 

ように、シートに画像を配置するaxlsxの例に従うことをしようとすると、私は例外TypeError no implicit conversion of PicUploader into String
どれを取得します何が原因だろうか?

答えて

1

expand_pathはパラメータとしてPicUploaderクラスではなく文字列を要求しています。試してください

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

これは動作します!速やかなご返信ありがとうございます。 – AmyAdamsIsBae

+0

あなたは大歓迎です:) – Ursus

+0

ちょっと無関係なフォローアップ:イメージは私の 'image.start_at'を無視しているようで、常にA1から始まります(ただし、' end_at'は変更できます)。なぜこれが起こっているのかも知りませんか? – AmyAdamsIsBae

関連する問題