Rails image_tag ищет мой производственный сервер для активов! - PullRequest
0 голосов
/ 13 октября 2009

Я прочитал, что установив ActionController :: Base.asset_host, вы можете контролировать, где rails ищет ресурсы. Однако по умолчанию Rails должен выглядеть в '/public/...'

Каким-то образом мое приложение Rails знает, как посмотреть мой рабочий адрес в режиме разработки, и я нигде не установил ActionController :: Base.asset_host. Я не уверен, где он находит эту информацию. Где-нибудь еще это можно установить? Я не думаю, что мои рецепты развертывания должны иметь какое-либо отношение к этому ...

<%= image_tag 'my_logo.png' %>

заставляет Rails проверить файл на моем производственном сервере. То же самое с таблицами стилей.

1 Ответ

0 голосов
/ 14 октября 2009

Я не совсем уверен, как Rails знал, как искать мой рабочий домен. Я удалил это почти везде в моем коде. Согласно docs , «по умолчанию Rails связывается с этими ресурсами на текущем хосте в общей папке», но я не совсем уверен, что это значит. Чтобы не допустить повторного появления этой проблемы и обеспечить некоторую гибкую настройку, я добавил доменные хост-активы в конфигурацию своей среды. Теперь у меня есть что-то вроде:

EnvironmentConfig = YAML.load(File.read(Rails.root + "config/#{rails_env}" + 'environment.yml'))[rails_env]

ActionController::Base.asset_host = EnvironmentConfig['asset_host']

Теперь все отлично работает. До сих пор не знаю, как Rails узнал, как смотреть на мой рабочий домен.

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