使用Rails,如何在应用程序中的特定页面上执行javascript文件?
我正在尝试将javascript文件加载到rails应用程序中,但仅针对应用程序中的特定页面,而不是主页。如何使用rails加载特定页面的javascript文件 我现在拥有的javascript位于assets/javascript中的programs.js中,如下所示:使用Rails,如何在应用程序中的特定页面上执行javascript文件?,javascript,ruby-on-rails,Javascript,Ruby On Rails,我正在尝试将javascript文件加载到rails应用程序中,但仅针对应用程序中的特定页面,而不是主页。如何使用rails加载特定页面的javascript文件 我现在拥有的javascript位于assets/javascript中的programs.js中,如下所示: document.addEventListener('DOMContentLoaded', (event) => { let program = document.getElementsByClassName('pr
document.addEventListener('DOMContentLoaded', (event) => {
let program = document.getElementsByClassName('program-name')
console.log(program)
})
同样,代码本身工作正常。问题是它是针对主页执行的,而不是针对我希望它执行的任何特定页面。如何让代码在rails应用程序中的特定页面上执行?为什么不将javascript标记添加到要运行它的视图中 如果您想提高渲染速度,可以在布局中添加一个页面结束屈服,然后在视图中指定javascript,如下所示:
document.addEventListener('DOMContentLoaded', (event) => {
let program = document.getElementsByClassName('program-name')
console.log(program)
})
布局/application.html.erb
...
查看/../index.html.erb
...
document.addEventListener('DOMContentLoaded',(事件)=>{
让程序=document.getElementsByClassName('program-name')
console.log(程序)
});
为什么不将javascript标记添加到要在其上运行的视图中
如果您想提高渲染速度,可以在布局中添加一个页面结束屈服,然后在视图中指定javascript,如下所示:
document.addEventListener('DOMContentLoaded', (event) => {
let program = document.getElementsByClassName('program-name')
console.log(program)
})
布局/application.html.erb
...
查看/../index.html.erb
...
document.addEventListener('DOMContentLoaded',(事件)=>{
让程序=document.getElementsByClassName('program-name')
console.log(程序)
});
另一种方法是执行以下操作:
if($('body').is('.yourcontroller.youraction'){
// Do something
}
app/views/layouts/application.html.erb
<body class="<%= controller_name %> <%= action_name %>">
<!-- This will add your page's controller and action as classes, for example, "blog show" -->
另一种方法是执行以下操作:
if($('body').is('.yourcontroller.youraction'){
// Do something
}
app/views/layouts/application.html.erb
<body class="<%= controller_name %> <%= action_name %>">
<!-- This will add your page's controller and action as classes, for example, "blog show" -->
我没想到!让我try@JonathanReiser我的荣幸!请接受答案,结束问题。我没想到!让我try@JonathanReiser我的荣幸!请接受答案以结束问题。