我在我的Rails-App中使用*.js.erb
,它对点击的链接作出反应。
但是当我渲染我的页面时,通过link_to到达那里,我必须刷新页面,使其工作。有什么特技,我怎么能做到这一点?
以下是我的代码的简化版本:
$(document).ready(function(){
$('#toright').click(alert(">> was clicked"));
});
$(document).ready(function(){
$('#toleft').click(alert("<< was clicked"));
});
$(document).ready(function(){
$('#save').click(alert("save was clicked"));
});
$(document).ready(function() {
alert("The document is ready!");
});
网站渲染后,它没有显示我的功能,但当我在地址栏中输入网址时,它可以正常工作。
一些编辑:
更新:
所以我编辑了我的application.js以包含
$(document).ready(function(){
alert("The document is ready!");
$('#toright').click(alert(">> was clicked"));
$('#toleft').click(alert("<< was clicked"));
$('#save').click(alert("save was clicked"));
});
并将我的js.erb设置为assets/javascripts
文件夹中的.js。
但无论如何,在我刷新页面之前它才会起作用。
答案 0 :(得分:0)
ready
是一个jQuery函数,因此确保您在Javascript中正确使用和包含jQuery库。
此外,如果您不需要在控制器和Javascript之间交换数据,我建议您将Javascript放在资产文件夹中,例如:/app/assets/application.js。
这仅适用于Rails应用程序3.x和4.x。
最好的问候。