Как прекомпилировать PDF файл в Rails?
В приложении Rails 3.2.11 я пытаюсь опубликовать свое приложение в Heroku.
В папке с ресурсами у меня есть вложенная папка pdf с файлами PDF внутри.
В моем файле production.rb я добавил следующее:
config.assets.precompile += %w[*.png *.jpg *.jpeg *.gif *.pdf]
config.assets.precompile += ["*.js"]
config.assets.precompile += ["*.css"]
config.assets.precompile += ['pdf/*']
config.assets.precompile += %w( ricerca_wg.pdf )
Если я проверю пути файлов pdf на моей консоли, я получаю:
Rails.application.config.assets.paths
# [
# "/Users/Augusto/Sites/wisegrowth/app/assets/images",
# "/Users/Augusto/Sites/wisegrowth/app/assets/javascripts",
# "/Users/Augusto/Sites/wisegrowth/app/assets/pdf",
# "/Users/Augusto/Sites/wisegrowth/app/assets/stylesheets",
# "/Users/Augusto/Sites/wisegrowth/vendor/assets/javascripts",
# "/Users/Augusto/Sites/wisegrowth/vendor/assets/stylesheets",
# "/Users/Augusto/.rvm/gems/ruby-1.9.3-p551/gems/jquery-rails-2.3.0/vendor/assets/javascripts",
# "/Users/Augusto/.rvm/gems/ruby-1.9.3-p551/gems/coffee-rails-3.2.2/lib/assets/javascripts",
# "/Users/Augusto/.rvm/gems/ruby-1.9.3-p551/gems/formtastic-2.1.1/app/assets/stylesheets"
# ]
Но когда я бегу
rake assets:precompile RAILS_ENV=production
все предварительно скомпилировано, но в pdf файлах и в моем рабочем приложении на Heroku я получаю следующую ошибку:
ActionView::Template::Error (ricerca_wg.pdf isn't precompiled):
Ответы
Ответ 1
Я не думаю, что pdf файл должен быть "предварительно скомпилирован".
если вы просто хотите получить доступ к pdf файлу из своего приложения, не используя другой сервис, такой как S3, вы можете просто поместить эту папку pdf в свою общую папку приложения rails, и они будут доступны в приложении в виде статического файла.
www.domain.com/pdf/ricerca_wg.pdf
просто убедитесь, что папка public/pdf не находится в gitignore
и она должна работать.
Ответ 2
Я считаю, что ricerca_wg.pdf
находится в разделе /Users/Augusto/Sites/wisegrowth/app/assets/pdf/
? Если нет, просто
- удалить
config.assets.precompile += %w( ricerca_wg.pdf )
- move
ricerca_wg.pdf
разделе /Users/Augusto/Sites/wisegrowth/app/assets/pdf/
- его следует предварительно скомпилировать вместе с другими файлами PDF из этого каталога