javascript资产dosen';t在我的html.erb页面中加载

javascript资产dosen';t在我的html.erb页面中加载,javascript,ruby-on-rails,ruby,Javascript,Ruby On Rails,Ruby,我正在使用: Linux Ubuntu 16.04 ruby 2.4.0p0; rails 5.1.1 我是rails的一名工程师,为了学习,我在lynda.com上接受了RubyonRails 4基本培训。我现在被困在加载js资产任务中 我已经创建了“app/assets/javascripts/demo.js”文件,其中包含js函数: 函数JSROR(名称){ 警惕(‘我是’+name+’,听我吼!); }我认为: <%= javascript_tag("jsRoar('Rai

我正在使用:

Linux Ubuntu 16.04

ruby 2.4.0p0;

rails 5.1.1
我是rails的一名工程师,为了学习,我在lynda.com上接受了RubyonRails 4基本培训。我现在被困在加载js资产任务中

我已经创建了“app/assets/javascripts/demo.js”文件,其中包含js函数:

函数JSROR(名称){
警惕(‘我是’+name+’,听我吼!);
}
我认为:

<%= javascript_tag("jsRoar('Rails');")%>

应该是:

<%= javascript_include_tag("demo") %>

查看此代码在您的视图中是否有效:

$(document).ready(function(){
   jsRoar('Yassser');
})

删除“demo.coffee”文件后,我的问题得到解决。 我发现我的问题源于我有两个同名(但扩展名不同)“demo.js”和“demo.coffee”的文件。由于Rails资产帮助程序对coffescript和js文件一视同仁,这是不明确的。 所以我删除了“demo.coffee”,我所有的问题都解决了。 谢谢各位朋友。
伟大的thnx for@max,他的回复在

中。在所有内容加载完毕后单击链接是否会产生弹出窗口?您能否查看页面中包含的
public.js
(即,在Rails对其进行后期处理后,浏览器会看到它),并验证其中是否包含
demo.js
?我的猜测是您的清单文件的语法有问题,无法将其包括在内。@SimpleTime:否在单击链接后弹出窗口不会显示,在加载页面后也不会显示,因为我在加载页面后调用了一个函数,在单击链接后调用了一个函数。@pjmorse:这是我的public.js的内容,我没有看到任何错误://=require jquery//=require jquery\u ujs//=require demo–@YasserKotrsi这就是浏览器看到的吗?也就是说,如果您在浏览器中加载页面,然后使用开发人员工具或类似工具检查public.js,它是否包含js代码,或者该清单副本?如果它显示了清单,问题是你的JS没有得到后期处理。为什么?
javascript\u include\u标记(“public”)
应该已经加载了该函数,因为
public
清单已经需要
demo
。我不是说你错了,但我不明白你的回答为什么是对的。事实上,我不认为这是问题所在,因为我打算通过
助手调用该函数。对于js资源加载,我已经在布局中添加了:
,因为public.js是这个项目的清单文件。我只是尝试了一下,不同之处在于
application.js
中包含了
requires
,它按照预期工作,所以我认为pjmorse是正确的,而js文件未正确呈现。并且您不需要调用
布局“应用程序”
,除非您的控制器是从布局不同于应用程序的其他控制器继承的,因为默认情况下它使用
“应用程序”