Rails 4 статические активы в public / или app / assets /
Извините, если это длинный вопрос к простому вопросу, но я хотел, чтобы мои мысли прояснились.
Я использовал Rails 4 на нескольких проектах сейчас, и я используюimage_tag('/assets/image.png')
обойти изменения в том, как работают помощники пути активов в Rails 4. До сегодняшнего дня, когда я решил узнать больше об изменениях и нашелэто первое примечание об изменении в звездочках-рельсах, Я также отметил, чтоASSET_PUBLIC_DIRECTORIES
в /actionview/lib/action_view/helpers/asset_url_helper.rb#L170 в Rails помощники указывают только на общие папки. Для меня стало очевидным, что если вы обращаетесь к статическим файлам, Rails хочет, чтобы вы использовали общедоступную папку.
Итак, теперь, когда я понял это, я просто не могу понять, почемукраевые рельсы документы четко сформулируйте это:
В предыдущих версиях Rails все ресурсы находились в общедоступных подкаталогах, таких как изображения, javascripts и таблицы стилей. При использовании конвейера активов предпочтительным местом расположения этих активов теперь является каталог app / assets.
image_path на практике генерирует URI для папки public / images, что полностью противоречит.
И чтобы подвести итог всего этого, мне нужно использовать всех доступных помощников и сборщиков, потому что в итоге я развернул свои активы на S3 сasset_sync.
Так что мой вопрос справедливый; Есть ливерный место для размещения изображений / не скомпилированных ресурсов и использования помощников asset_path? Вся документация и все другие разговоры о переполнении стека касаются людей, использующих папку app / assets, но sprockets-rails хочет, чтобы мы использовали public для не-дайджест-ресурсов. Документы и информация в Интернете просто нуждаются в обновлении, или другие просто делают это, предварительно добавив все пути к активам с помощью / assets /?
ОБНОВЛЕНИЕ: я думаю, что у меня действительно была проблема, когда я не перезагружал свой сервер разработки, и изображения в app / assets / images не показывались, таким образом, это было бы откатом для общественности. Также обратите внимание, что я использовал помощники ресурсов в своем paperclip default_url (на который ссылаются как на способ указать на активы в нескольких ответах на переполнение стека, которые я нашел, однако использование помощников пути активов с интерполированными параметрами в paperclip также откатится к общедоступным, потому что очевидно, что неинтерполированное имя ресурса не будет найдено как существующий файл.