2014-11-29 3 views
0

Итак, я использую paperclip и capistrano. По некоторым причинам файлы не загружены в /shared/public/system/:class/:attachment/:id_partition/:style/:filename, но в /shared/public/system/system/:class/:attachment/:id_partition/:style/:filename. Я не понимаю, почему. Также, когда я пытаюсь отобразить изображение, URL-адрес mywebsite.com/system/companies/logos/000/000/015/medium/logo_small.jpg вместо симпатичного URL-адреса.Paperclip Загрузка файла в неправильный каталог

вот моя модель: company.rb

class Company < ActiveRecord::Base 
    has_attached_file :logo, :styles => { :medium => "300x300>", :thumb => "100x100>" }, 
        processors: [:compression], 
        :default_url => "/images/:style/missing.png", 
        :path => "system/:class/:attachment/:id_partition/:style/:filename", 
        :url => "system/:class/:attachment/:id_partition/:style/:basename.:extension" 
    validates_attachment_content_type :logo, :content_type => /\Aimage\/.*\Z/ 
end 

и мой инициализатор: paperclip.rb

Paperclip.options[:command_path] = "/usr/local/bin/" 
Paperclip::Attachment.default_options[:storage] = :fog 
Paperclip::Attachment.default_options[:fog_credentials] = {:provider => "Local", :local_root => "#{Rails.root}/public/system"} 
Paperclip::Attachment.default_options[:fog_directory] = "" 
Paperclip::Attachment.default_options[:use_timestamp] = false 

ответ

0

Изменить это,

Paperclip::Attachment.default_options[:fog_credentials] = {:provider => "Local", :local_root => "#{Rails.root}/public"} 

Вы также можете попробовать этот, я думаю, что нет необходимости передавать: local_root в файле paperclip.eb

:path => ":Rails.root/public/system/:class/:attachment/:id_partition/:style/:filename" 
+0

любая идея, почему URL не являются «хорошенькими»? – bl0b

+0

Возможно, это была проблема, но я обновил свой ответ, потому что он отлично работает в моем приложении. – rick

Смежные вопросы