Ajudantes de Asset Pipeline

Observação: as perguntas e respostas deste pipeline de ativos listam apenas os problemas que tenho enfrentado. Consulte o guia oficial para obter mais detalhes, ele contém tudo o que você precisa.

O Asset Pipeline foi introduzido pela primeira vez no Rails 3.1, quando eu comecei a pegar o Rails. Definitivamente não é algo novo, mas acho que uma rápida sessão de perguntas e respostas sobre como usar seus ajudantes de forma eficaz será ótimo para iniciantes; pare de coçar a cabeça quando não funcionar como esperado.


  • Por que application.jsentrou application-8cfe89dd0e9231a2d49f4e2c2bc80d07.jsem produção?

TLDR: Porque você ativou o pipeline de ativos.

8cfe89dd0e9231a2d49f4e2c2bc80d07 é o hash MD5 do application.jsarquivo, ele será alterado se o conteúdo do seu for application.jsalterado. Esta técnica é usada para armazenar os ativos em cache de forma eficaz, de forma que o navegador / servidor saiba quando renderizar / servir o ativo atualizado.

  • Quero habilitar a impressão digital no desenvolvimento para fins de depuração.

Situado config.assets.digest = falseemdevelopment.rb

  • Tenho uma biblioteca javascript de terceiros jquery.expander.js,. Como posso usá-lo com o pipeline de ativos?

Mover jquery.expander.jspara vendor/assets/javascripts/jquery.expander.jse adicionar esta linha //= require jquery.expanderdireita antes //= require_tree .emapplication.js

  • Eu tenho uma imagem, bg.jpgem app/assets/imagese quiser usá-lo em sass / SCSS.

background-image: "<%= asset-url 'bg.jpg' %>"

  • Eu tenho um arquivo json /app/assets/javascripts/example.json,. Como incluí-lo script.js?

Primeiro, renomeie script.js.erbe use esta linha:<%= asset_path 'example.json' %>

Atualizado: encontrei um bom artigo sobre asset-pipeline http://coderberry.me/blog/2012/04/24/asset-pipeline-for-dummies/