可以在Rails中使用stylesheet.css.erb吗?

mpo*_*z08 5 css syntax ruby-on-rails erb

嘿,我是Rails和Ruby的新手.我想知道是否可以使用嵌入式ruby css文件(css.erb),类似于使用html.erb文件进行查看.

例如,我正在使用

<%= stylesheet_link_tag "main" %>
Run Code Online (Sandbox Code Playgroud)

链接到public/stylesheets中的main.css文件,但是当我将文件扩展名从main.css更改为main.css.erb时,它不再呈现css ..

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

Fel*_*ino 24

当这个问题得到解答时,确实无法.css.erb正确使用rails中的文件.

但是新的rails 3.1资产管道允许您在css文件中使用资产助手.css解析器没有绑定控制器/操作范围,但ruby解析器现在能够解决一些问题,如图像路径引用

.class { background-image: url(<%= asset_path 'image.png' %>) }
Run Code Online (Sandbox Code Playgroud)

或者将图像直接嵌入到你的CSS中

#logo { background: url(<%= asset_data_uri 'logo.png' %>) }
Run Code Online (Sandbox Code Playgroud)

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


Cod*_*lan 3

我不这么认为。您的意图是什么 - 使用变量并在运行时或“编译”时(意思是部署时?)对它们进行评估。另外,ERB 结合是什么?它会像视图和助手一样绑定到控制器,以便 ERB 实例可以访问控制器中设置的实例变量吗?我只是将这个问题更多地作为一个理论练习提出。

如果你想在 CSS 中使用变量,你可以使用 Haml 的 SASS。您无法访问控制器的范围,但可以获取基本变量和循环。还有其他很酷的东西,比如 mixin。