我有一些特定于页面的js和css文件,我要么:
或两者兼而有之。
在Rails 3.0.x中,我只需从需要它们的视图中调用它们,如下所示:
- if some_condition
= javascript_include_tag 'page_specific'
现在,使用资产管道,看起来我必须在清单中包含这些(因此在应用程序的每个页面中),否则它们将不会被预编译。因为我正在使用Heroku进行部署,所以不允许进行延迟编译。
如何手动预编译assets目录中的每个文件,而不必将它们全部包含在清单中?这可能吗?
答案 0 :(得分:3)
只是不要将特定于页面的资产放在清单中并在需要时将其包含在rails 3.0.x中,预编译器会将这些页面特定的编译为单独的文件。
就个人而言,我只是检查我知道的某个元素是否在该页面的dom中。如果找不到该元素,则不执行其余代码。
$(function(){
if( $("#page_specific_element").length !== 1 ) return;
//page specific functions
});