Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails:加载页面时加载js.erb文件_Javascript_Ruby On Rails - Fatal编程技术网

Javascript Rails:加载页面时加载js.erb文件

Javascript Rails:加载页面时加载js.erb文件,javascript,ruby-on-rails,Javascript,Ruby On Rails,加载页面时,加载/呈现js.erb文件时出现问题。它始终显示为html 这是我尝试添加到我的html.erb文件中的内容,我希望在其中加载我的js.erb: <%=render 'employees_js.js.erb'%> <%=render(:partial => 'employees_js.js.erb', :handlers => [:erb], :formats => [:js]) %> 'employees_js.js.erb',:han

加载页面时,加载/呈现js.erb文件时出现问题。它始终显示为html

这是我尝试添加到我的html.erb文件中的内容,我希望在其中加载我的js.erb:

<%=render 'employees_js.js.erb'%>
<%=render(:partial => 'employees_js.js.erb', :handlers => [:erb], :formats => [:js]) %>

'employees_js.js.erb',:handlers=>[:erb],:formats=>[:js])%>
可能值得注意的是,我正在尝试将此文件加载到使用AJAX加载的模板上

请告诉我如何将js.erb文件加载为js.erb而不是.html

多谢各位


如果我不够清楚,请告诉我。

您不能使用
render
方法在html.erb中呈现js片段。Render将在此上下文中查找html文件。一种解决方法是将部分名称更改为
employees_js.html.erb
,然后将javascript包装在脚本标记中

<script type="text/javascript">
  // your script
</script>

//你的剧本
然后:

<%= render 'employees_js' %>


旁注:在rails中呈现javascript应该在显式请求时完成,通常使用
remote:true
链接或表单。否则,您的javascript应该在资产管道中,并使用
javascript\u include\u标记
请求

在你花更多的时间走这条路之前,你应该停下来,试着用“轨道方式”去做,从长远来看,这会容易得多。这一页是一个良好的开端