Ну, вот что я сделал:
В моей модели Image я добавил действие и использовал метод rails_representation_url () из url_helpers:
include Rails.application.routes.url_helpers# это нужно для
include Rails.application.routes.url_helpers
def get_variant(version="high", disposition="attachment")
variant = file_variant(version)
return rails_representation_url(variant, only_path: true, disposition: disposition)
end
В моем html я могу вызвать мой метод с расположением вложений:
<a href="<%= @image.get_variant('high', 'attachment') %>" rel="example_group">
Я также могу загрузить вариант изображения непосредственно из моего контроллера:
def download
redirect_to @image.get_variant('high', 'attachment')
end
Если вы хотите отобразить только вариант в окне браузера, вы можете использовать 'inline':
redirect_to @image.get_variant('high', 'inline')
Не уверен, что это лучший вариант, но он работает.