несущая не загружает URL-адрес изображения по умолчанию? - PullRequest
0 голосов
/ 30 августа 2018

Когда я запускаю рельсы в рабочем режиме, я помещаю URL-адрес аватара по умолчанию в assets / images и делаю так:

"/assets/" + [version_name, "image.jpeg"].compact.join('_')

он отлично работает в режиме разработки, но в производстве - нет, и я не знаю, почему у меня есть предварительно скомпилированные ресурсы, но все же надеюсь, что вы поможете.

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Если путь вашего актива:

/assets/v1_image.png

Тогда он будет отлично работать в разработке, если вы использовали что-то вроде:

<img src="/assets/v1_image.png" />

Поскольку ресурсы разработки не прекомпилируются конвейером ресурсов Rails.

Но в производственном процессе конвейер ресурсов скомпилирует ваши активы и отметит его каким-то md5hash, так что имя вашего файла в итоге будет примерно таким:

/assets/v1_image-aee4be71f1288037ae78b997df388332edfd246471b533dcedaa8f9fe156442b.png

Таким образом, правильный способ его использования должен быть примерно таким:

<img src="/assets/v1_image-aee4be71f1288037ae78b997df388332edfd246471b533dcedaa8f9fe156442b.png" />

но все же этот хэш md5 изменится с развертывания на другое, поэтому метод рельсов для этого - использовать помощников image_path, image_url или image_tag из ActionView::Helpers::AssetUrlHelper, чтобы сгенерировать правильный путь для вас следующим образом :


image_tag('v1_image.png') вернет:

<img src="/assets/v1_image-aee4be71f1288037ae78b997df388332edfd246471b533dcedaa8f9fe156442b.png" />

image_path('v1_image.png') вернет:

/assets/v1_image-aee4be71f1288037ae78b997df388332edfd246471b533dcedaa8f9fe156442b.png

image_url('v1_image.png') вернет:

http://www.example.com/assets/v1_image-aee4be71f1288037ae78b997df388332edfd246471b533dcedaa8f9fe156442b.png

Надеюсь, это достаточно ясно и поможет решить вашу проблему:)

0 голосов
/ 31 августа 2018

Возможно, проблема связана с /assets вмешательством в конвейер активов рельсов.

Пожалуйста, оставьте свой код для лучшего понимания вопроса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...