2016-04-07 18 views
1

Ich verwende FOG mit Büroklammer. Ich habe den folgenden Code hinzugefügt, um den dynamischen Verzeichnisnamen anzugeben.Fog Verzeichnis hängt lokalen Systempfad mit Amazon URL, wenn ich versuche, dynamische Nebel Verzeichnis geben

fog_directory: proc { |file| file.instance.repo.name } 

Es schafft das Nebelverzeichnis korrekt, aber wenn ich versuche, URL, um es den lokalen Systempfad mit amazon URL hinzugefügt.

https://s3.amazonaws.com/%23%3CProc:[email protected]/home/apple/projects/project.name/config/initializers/paperclip.rb:8%3E/abc.jpg

+1

Können Sie eine vollständige Büroklammer Datei teilen. –

Antwort

0

Ich löste es auf diese Weise durch die Büroklammer-Modul überschreiben.

module Paperclip 
    module Storage 
     module Fog 
      def host_name_for_directory 
       if directory_name.to_s =~ Fog::AWS_BUCKET_SUBDOMAIN_RESTRICTON_REGEX 
       "#{directory_name}.s3.amazonaws.com" 
       else 
       "s3.amazonaws.com/#{directory_name}" 
       end 
      end 

      def directory 
       @directory ||= connection.directories.new(key: directory_name) 
      end 

      def directory_name 
     if @options[:fog_directory].respond_to?(:call) 
      @options[:fog_directory].call(self) 
     else 
      @options[:fog_directory] 
     end 
      end 
     end 
    end 
end