2016-04-06 8 views
0

Ich benutze zum Laden von Dateien gem LibelleWie bekomme ich das richtige Pfad-Standardbild mit der Libelle?

I Modell Foto haben:

class Photo < ApplicationRecord 
    dragonfly_accessor :avatar do 
     default 'public/avatar.png'  
    end 
................................ 
end 

Wenn ich pry(#<#<Class:0x007f83508fb8f0>>)> @photo.avatar.url nennen

ich

=> "/media/W1siZmYiLCJwdWJsaWMvYXZhdGFyLnBuZyJdXQ/avatar.png?sha=338938a0ea07d56b" 

Datei Libelle einstellen.

dragonfly.rb

require 'dragonfly' 

# Configure 
Dragonfly.app.configure do 
    plugin :imagemagick 

    secret "7c510e8ed95f9929f09981ef5f42ffc75034703184575044d2835ebbbd2a350b" 

    url_format "/media/:job/:name" 

    datastore :file, 
    root_path: Rails.root.join('public/system/dragonfly', Rails.env), 
    server_root: Rails.root.join('public') 
end 

# Logger 
Dragonfly.logger = Rails.logger 

# Mount as middleware 
Rails.application.middleware.use Dragonfly::Middleware 

# Add model functionality 
if defined?(ActiveRecord::Base) 
    ActiveRecord::Base.extend Dragonfly::Model 
    ActiveRecord::Base.extend Dragonfly::Model::Validations 
end 

Ich brauche Pfad für Paste in image_tag. Wie kann ich den richtigen Pfad erhalten? .../public/avatar.png?

Antwort

2

I gegründet Lösung:

dragonfly_accessor :avatar do 
     default Rails.root.join('public', 'images', 'default', 'avatar.png')  
    end 
1

Sie remote_url instread von url verwenden sollte vollständigen Pfad wie

@photo.avatar.remote_url 

zu bekommen Wenn Sie das hochgeladene Bild in Bild-Tag verwenden möchten, dann können Sie direkt verwenden

image_tag(@photo.avatar.url) 
+0

Können Sie bitte schreiben in dragonfly.rb Datei einstellen? Aber was ist der tatsächliche Pfad, weil @ photo.avatar.url das Bild richtig setzen wird – Sukanta

+0

Aber Sie können den obigen Pfad wie image_tag (@ photo.avatar.url) direkt verwenden – Sukanta

+0

Was ist der Fehler werfen? – Sukanta

1

Versuchen Sie diese

img = Dragonfly[:images].fetch_file(File.join(Rails.root, 'public', 'toekomst', 'images', 'sample.png')) 

beziehen sich auf diesen Link (http://markevans.github.io/dragonfly/rails/)

+0

Wie füge ich meinen Pfad public/avatar.png hinzu? –

+0

Fügen Sie einfach Ihr Bild zu diesem Pfad 'assests/images' hinzu – JohnPaul

+0

Ich fügte hinzu, dass img = Dragonfly.app (: Bilder) .fetch_file (File.join (Rails.root, 'public', 'toekomst', 'Bilder', 'avatar .png ')) dragonfly_accessor: avatar tun default img #' public/avatar.png ' end Nicht anzeigen: http://prntscr.com/aorxog. Bild in Assets/Bildern –

Verwandte Themen