2013-11-08 1 views
3

Я понимаю, что в производстве что-то вроде следующего создаст путь с хешем, за которым следует foo.img.Как использовать path_path с файлами на Nginx

<%= asset_path 'foo.img' %> 

Но если я вместо того, чтобы поместить файл foo.img не в приложении Rails, но в обратном прокси-сервер Nginx (и, следовательно, без какого-либо префикса хэш), то, как я полагаю, ссылаться на правильный путь? Если asset_path будет генерировать путь с префиксом хэша, то как мне заставить его ссылаться на правильный путь, чтобы запросы на изображения попадали в Nginx's foo.img?

Предположим, что предварительно прекомпилировать для производства и скопировать его в каталог, о котором знает nginx?

+0

Ваше последнее предложение именно то, что вы должны сделать. Все активы должны быть записаны в общий каталог, а Nginx должен знать только о каталоге, а не о отдельных файлах. –

+0

@ssorallen: есть ли учебник, описывающий это и все другие вещи, которые я должен сделать для настройки Nginx с Rails? – user782220

+1

В разделе в документах Rails о «In Production» для активов есть несколько примеров для конфигураций Nginx. Весь раздел стоит прочитать: http://guides.rubyonrails.org/asset_pipeline.html#in-production –

ответ

0

Вы можете установить URL-адрес пути через config.assets.prefix, а место, где находятся ресурсы, настраивается с помощью config.assets.paths.

Из руководства по configuring assets:

config.assets.paths contains the paths which are used to look for assets. Appending paths to this configuration option will cause those paths to be used in the search for assets. 

config.assets.prefix defines the prefix where assets are served from. Defaults to /assets. 
Смежные вопросы