Possível usar stylesheet.css.erb em Rails?

votos
5

Ei, eu sou novo para Rails e Ruby em geral. Eu queria saber se é possível usar um arquivo ruby ​​incorporado css (css.erb), semelhante ao uso html.erb arquivos para vistas.

Por exemplo, eu estou usando

<%= stylesheet_link_tag main %>

o link para o meu arquivo main.css em público / folhas de estilo, mas quando eu mudar a extensão do arquivo de main.css para main.css.erb, já não torna o css ..

Isso é possível, ou se existe uma maneira melhor?

Publicado 27/08/2009 em 00:48
fonte usuário
Em outras línguas...                            


3 respostas

votos
22

No momento em que esta pergunta foi respondida realmente havia nenhuma maneira de usar .css.erbarquivos em trilhos corretamente.

Mas o pipeline de ativos novos trilhos 3.1 permite que você use ajudantes de ativos dentro do seu arquivo css. Os analisadores de CSS não é binded um escopo de controle / ação, mas o analisador de rubi é agora capaz de resolver algumas questões como referências de caminho de imagem

.class { background-image: url(<%= asset_path 'image.png' %>) }

ou incorporar uma imagem diretamente em seu css

#logo { background: url(<%= asset_data_uri 'logo.png' %>) }

fonte: http://guides.rubyonrails.org/asset_pipeline.html

Respondeu 09/04/2012 em 16:12
fonte usuário

votos
4

Você também pode gerar um controlador de "estilo"

./script/generate controller stylesheets main admin maintenance

Você começa algo como isto:

      exists  app/controllers/
      exists  app/helpers/
      create  app/views/stylesheets
      exists  test/functional/
      exists  test/unit/helpers/
      create  app/controllers/stylesheets_controller.rb
      create  test/functional/stylesheets_controller_test.rb
      create  app/helpers/stylesheets_helper.rb
      create  test/unit/helpers/stylesheets_helper_test.rb
      create  app/views/stylesheets/main.html.erb
      create  app/views/stylesheets/admin.html.erb
      create  app/views/stylesheets/maintenance.html.erb

E mais tarde você pode usar o app / views / estilo / arquivos como arquivos CSS prestados de forma dinâmica.

O mesmo método funciona para arquivos javascript (controlador de javascripts)

Respondeu 27/08/2009 em 20:57
fonte usuário

votos
3

Acho que não. O que é sua intenção - para usar variáveis ​​e tê-los ser avaliadas em tempo de execução, ou "compilar" o tempo (ou seja, como o tempo de implantação?). Além disso, o que seria o ERB vinculativo? Será que se ligam ao controlador, como pontos de vista e ajudantes são, de modo a que instância ERB teria acesso às variáveis ​​de instância definidas no controlador? Eu só colocar esta questão como mais de um exercício teórico.

Se você quiser usar variáveis ​​em seu CSS que você pode usar SASS de Haml. Você não tenha acesso ao escopo do controlador, mas você começa variáveis ​​básicas e looping. Além de outras coisas legais como mixins.

Respondeu 27/08/2009 em 00:59
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more