可以使用stylesheet.css.erb在Rails的?(Possible to use sty

2019-07-03 20:20发布

嘿,我一般是新来的Rails和Ruby。 我想知道是否有可能使用嵌入式红宝石CSS文件(css.erb),类似于使用html.erb文件的意见。

例如,我使用

<%= stylesheet_link_tag "main" %>

链接到我的main.css文件中的公共/样式表,但是当我改变从main.css的文件扩展名main.css.erb,它不再呈现CSS ..

这甚至可能,还是有更好的办法?

Answer 1:

我不这么认为。 请告诉我你的意图 - 使用变量,并让它们在运行时进行评估,或“编译”时(指像部署时间?)。 此外,这将是该局结合? 将其绑定到控制器,如美景和助手是,使该局实例将有机会获得在控制器设置的实例变量? 我只是提出这个问题的更多的是理论上的锻炼。

如果你想在你的CSS使用变量比您可以使用Haml的的上海社会科学院。 你并没有进入到控制器的范围,但你得到的基本变量和循环。 加上其他很酷的东西,如混入。



Answer 2:

到时候这个问题得到的回答确实有没有办法使用.css.erb正确的轨道文件。

但是,新的轨道3.1资产管道使您可以使用你的CSS文件中的资产帮手。 CSS的解析器不绑定控制器/行动范围,但ruby解析器现在能够解决像图像路径引用的一些问题

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

或直接嵌入图像到你的CSS

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

来源: http://guides.rubyonrails.org/asset_pipeline.html



Answer 3:

您还可以生成一个“样式”控制器

./script/generate controller stylesheets main admin maintenance

你得到的东西是这样的:

      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

你可以在以后使用的应用程序/视图/样式表/文件,动态呈现的css文件。

同样的方法适用于JavaScript文件(JavaScript的控制器)



文章来源: Possible to use stylesheet.css.erb in Rails?