Možno využít stylesheet.css.erb v Rails?

hlasů
5

Ahoj, já jsem nový Rails a Ruby obecně. Napadlo mě, jestli je možné použít soubor vložený rubínovou css (css.erb), podobně jako pomocí html.erb soubory pro zobrazení.

Například, já používám

<%= stylesheet_link_tag main %>

odkazy na mé main.css soubor společných / stylů, ale když jsem změnit příponu souboru z main.css na main.css.erb to již činí css ..

Je to vůbec možné, nebo je tam lepší způsob?

Položena 27/08/2009 v 00:48
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
22

V době, kdy je tato otázka byla zodpovězena tam bylo opravdu žádný způsob, jak používat .css.erbsprávně soubory v kolejnicích.

Ale nové kolejnice 3.1 aktiv potrubí umožňuje používat pomocníky aktiv uvnitř css souboru. CSS analyzátory není vázané na regulátor / akční prostor, ale ruby ​​parser je nyní možné vyřešit některé problémy, jako je image cesty referencí

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

nebo vložit obrázek přímo do vašeho css

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

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

Odpovězeno 09/04/2012 v 16:12
zdroj uživatelem

hlasů
4

Můžete také vytvářet „kaskádových stylů“ regulátor

./script/generate controller stylesheets main admin maintenance

Dostanete něco takového:

      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

A můžete později použít app / views / styly / soubory jako dynamicky poskytovaných CSS souborů.

Stejná metoda funguje pro JavaScript soubory (Javascripts regulátoru)

Odpovězeno 27/08/2009 v 20:57
zdroj uživatelem

hlasů
3

I dont, že ano. Co váš záměr - používat proměnné a nechat být hodnoceno v běhu, nebo „sestavit“ čas (to znamená, stejně jako čas nasadit?). Také to, co by se ERB závazná? By se vážou k regulátoru, stejně jako názory a pomocníci, takže ERB instance bude mít přístup k instanci proměnné uvedené v regulátoru? Jen si kladu tuto otázku spíše teoretické cvičení.

Chcete-li použít proměnné v CSS, než můžete použít Haml je Sass. Nemusíte získat přístup k rozsahu regulátoru, ale vy dostanete základní proměnné a zacyklení. Plus jiné cool věci jako mixins.

Odpovězeno 27/08/2009 v 00:59
zdroj uživatelem

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