Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 在Rails中,如何更改基于URL导入的样式_Css_Ruby On Rails_Materialize_Material Design Lite - Fatal编程技术网

Css 在Rails中,如何更改基于URL导入的样式

Css 在Rails中,如何更改基于URL导入的样式,css,ruby-on-rails,materialize,material-design-lite,Css,Ruby On Rails,Materialize,Material Design Lite,在Rails 4.2中,我想从使用“物化”来设置视图样式过渡到使用“Material Design Lite” 物化样式要求我有@import'Materialize'和MDL样式要求我具有@import'material'在同一文件中 我的问题是,当我导入Materialize样式时,它会破坏MDL样式。如果我删除了Materialize import语句,MDL样式将正常工作,但是我没有转换为MDL样式的任何页面都将完全取消样式设置 这是一个太大的应用程序,无法一次性过渡到MDL。我希望在转

在Rails 4.2中,我想从使用“物化”来设置视图样式过渡到使用“Material Design Lite”

物化样式要求我有
@import'Materialize'application.scss
中的code>和MDL样式要求我具有
@import'material'在同一文件中

我的问题是,当我导入Materialize样式时,它会破坏MDL样式。如果我删除了Materialize import语句,MDL样式将正常工作,但是我没有转换为MDL样式的任何页面都将完全取消样式设置

这是一个太大的应用程序,无法一次性过渡到MDL。我希望在转换过程中使用MDL设置一些页面的样式,而使用Materialize设置其他页面的样式


有没有办法让用户在哪个页面上查看
应用程序.scss
中的导入语句有条件?

我从
应用程序.scss
中删除了materialize导入语句,然后在
视图/布局/应用程序.html.erb
中设置了条件,它根据当前路径设置了一个标志。如果当前路径是已转换为MDL的路径,则它会将
MDL
标志设置为true。(当前仅转换登录页面。)


然后在页面头部,我通过CDN导入MaterializeCSS和js,除非页面使用MDL

<% unless mdl %>
    <!-- Compiled and minified CSS and JS for Materialize -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.0/css/materialize.min.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.0/js/materialize.min.js"></script>
<% end %>

我认为这样做的结果是,物化不再在资产管道中,这可能会让事情慢一点,直到过渡完成

我现在还有两个标题栏部分,我根据
mdl
标志呈现正确的部分

<% unless mdl %>
    <!-- Compiled and minified CSS and JS for Materialize -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.0/css/materialize.min.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.0/js/materialize.min.js"></script>
<% end %>