2010-11-20 2 views

ответ

0

Если вы загружаете файлы на Amazon S3, то

s3.url
дает полный путь к изображению. Но в случае локального хранения файлов вы можете установить: url option также

1

Предполагая, что вы хотите, чтобы поведение работать подобно _url на уровне контроллера/просмотра, его немного сложнее, поскольку функции скрепки не имеют возможности узнать хозяина из запроса. Самый простой способ обойти это, чтобы определить константу HOST в конфигурации/среда/ENV.rb и затем передать параметр URL-адрес для has_attachment как

:url => "http://#{HOST}/:path" 

или любые ваши правила URL есть.

Вы можете также подножку этот вопрос с помощью S3, который является своим родом жизни заставки

+0

Спасибо, я попробовал это, но он просто отображается как # {HOST} – AnApprentice

+0

убедитесь, что вы определили HOST и используете двойные кавычки (это просто нормально построенный в строковой интерполяции) –

2

После настройки :url интерполяции строки к вашему удовольствию, вы можете связаться с вложениями с полной URL, используя что-то вроде:

def attachment_path(attachment) 
    attachment.url 
end 

def attachment_url(attachment) 
    "#{root_url}#{attachment.url.gsub(/^\//, '')}" 
end 
Смежные вопросы