2016-08-04 21 views
0

Ich verwende axlsx-rails, um Excel-Tabellen zu generieren, die die Informationen enthalten, die sich in meiner User-Entität befinden. Das Problem entsteht, wenn ich versuche, ein Bild in das Excel-Blatt zu legen. Ich benutze carrierwave 0.11.2 und ich habe sichergestellt, dass ich es richtig eingerichtet habe, habe ich die Zeichenfolge Spalte profile_pic, die das Bild enthält, habe ich den Uploader PicUploader und es ist auf Benutzer montiert. die carrierwave Umsetzung funktioniert gut, und das Bild zeigt in der „Show“ Seite des Benutzers, aber wenn ich versuche, das axlsx Beispiel folgen in dem Blatt als solcheTypeError keine implizite Umwandlung von PicUploader in String

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 

ich die Typeerror no implicit conversion of PicUploader into String
Beliebig erhalten das Bild zu setzen Idee was könnte das verursachen?

Antwort

1

Es heißt, expand_path erwartet eine Zeichenfolge, keine PicUploader-Klasse als Parameter. Versuchen Sie

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

Dies funktioniert! Danke, für die schnelle Antwort. – AmyAdamsIsBae

+0

Gern geschehen :) – Ursus

+0

irgendwie unabhängige Follow-up: das Bild scheint meine 'image.start_at' zu ignorieren und beginnt immer bei A1 (ich kann aber die' end_at' ändern). Hast du eine Idee, warum das passieren könnte? – AmyAdamsIsBae