在我们目前的rails应用程序中,我们遵循一些包含脚本和样式表等资源的模式.
例如,一个这样的模式是(布局中的代码):
= stylesheet_link_tag controller.controller_name
这里的问题是,并不是所有的控制器都将有相关的样式表.检查资产是否存在的最佳方式是什么?具体来说,我知道这里有一些诡计,因为缓存破坏资产名称.
解决方法
终于想出了这一个.可以检查资产存在如下:
YourApp::Application.assets.find_asset("#{asset}.css").nil?
那么答案是:
= stylesheet_link_tag controller.controller_name if YourApp::Application.assets.find_asset("#{controller.controller_name}.css")