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