1

我是新手。这是我的问题。刚刚发现app/assets下rails生成的所有css和js文件都包含在每个页面中。我正在考虑如何将它们分成本地的(仅针对此页面)和全局的(针对所有页面)。例如,我想将 jquery.js 放在我的所有页面中。但是对于 3DHelper.js,我希望它只出现在特定的页面中。有什么好的方法可以做到这一点吗?

4

1 回答 1

1

当您避免在 APP 中使用单独的 css/js 文件时,Assets 管道可以为您提供良好的性能改进。并且强烈建议遵循这种方式!

如果您希望某些 js 文件仅在某些页面上执行,您可以执行以下操作:

将控制器/动作名称dataclass属性添加到正文(在布局中)

<body data-controller="<%= controller.controller_name %>" data-action="<%= controller.action_name %>">

将 if 条件添加到您的 js 文件中,该文件应仅在特定页面上执行。像这样的东西

if (($('body').data('controller') == 'YourSpecificController') && ($('body').data('action') == 'YourSpecificAction'))
于 2013-10-01T08:23:04.887 回答