我必须在我的应用程序的show.html.haml页面上使用某个表格样式。具体来说,我不希望这种样式应用于_form.html.haml partials中的表单。以下是样式元素:
table {
border-collapse: collapse;
width:100%;
}
td, th {
border: 1px solid gray;
padding:5px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: ellipsis;
}
th {
background-color: #ccc;
text-shadow: 1px 1px 1px rgba(0,0,0,.2);
}
我在app / vendor / assets / web-app-theme / stylesheets目录中创建了一个名为data_tables.css的小文件,并将其包含在我的application.js中,如下所示:
* = require web-app-theme / data_tables
麻烦的是:它不仅会影响我的show.html.haml页面中的表格(我想要的),还会影响_form_html.haml部分(我不想要的)。显然,我对资产组织并不完全了解。以下是app / assets / stylesheets目录中application.css文件的内容:
/*
* This is a manifest file that'll automatically include all the stylesheets available in this directory
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
* the top of the compiled file, but it's generally better to create a new file per style scope.
*= require web-app-theme/base
*= require web-app-theme/style
*= require web-app-theme/wat_ext
*= require web-app-theme/data-tables
*= require formalize
*= require jquery.ui.core
*= require jquery.ui.theme
*= require jquery.ui.tabs
*= require dataTables/src/demo_table_jui
*= require_self
*= require_tree .
*/
答案 0 :(得分:1)
在资产编译期间,您在清单中声明的所有内容都会转储到单个文件中。解决问题的最佳方法是将类分配给希望CSS影响并相应更改的表。
或者,您可以从清单中删除此文件,并使用stylesheet_link_tag
之类的视图调用此文件:
<%=stylesheet_link_tag "web-app-theme/data_tables"%>
但是这不是你想要用于小文件的东西,因为它会增加对服务器的请求量。