我开始感到疯狂,因为我想做的事情很简单:在我的Rails application.js文件中写一行javascript,这将导致应用程序中其他地方的脚本执行。我用jQuery.get()和jQuery.getScript()尝试过,但似乎没什么用。
以下是我的application.js文件中的一些示例代码:
#application.js
$(document).ready(function() {
$(".button").click.function(){
$.get($(this).attr("href"), null, null, "script");
});
});
或
#application.js, excerpt
$.getScript("index.js.erb", function(){
alert('script has run');
});
其他变种。我已经尝试将index.js.erb文件放在与当前页面相同的视图文件夹中,或者放在javascripts文件夹中,甚至尝试将其设置为纯.js文件。脚本本身不是问题,我正在尝试使用简单的行:
#app/views/index.js.erb)
$('.header').text('new text')
没有什么对我有用,请帮忙!
答案 0 :(得分:1)
在“href”之前看起来你有一个额外的引用。
另外,您可以尝试在href之后添加.js扩展名: ... attr(“href”)+'。js',...
答案 1 :(得分:0)
以下是我要检查的内容:
application.js
中发送提醒,该怎么办?$(document).ready(...)
回调中发布的代码吗?答案 2 :(得分:0)
需要加入:
$(function(){
// your code goes here
});
块
答案 3 :(得分:0)
您的网络服务器将提供位于*.js
目录中的任何public/
个文件。它不会提供任何不在public/
中的静态文件,即使它们位于*.erb
,也不会提供任何public/
个文件。此外,public/
目录仅适用于静态文件,并且Web服务器不会通过Erubis运行位于*.js
内的任何public/
。
相反,您需要为您的特殊ERB JavaScript文件提供单独的路径控制器/操作和路由,并且ERB JavaScript文件应位于app/views/
。