Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/88.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 index.js.erb未加载到rails中_Javascript_Jquery_Ruby On Rails_Coffeescript_Erb - Fatal编程技术网

Javascript index.js.erb未加载到rails中

Javascript index.js.erb未加载到rails中,javascript,jquery,ruby-on-rails,coffeescript,erb,Javascript,Jquery,Ruby On Rails,Coffeescript,Erb,我在使用index.js.erb时遇到问题,我已经创建了一个index.js.erb,但没有执行它。我的控制器中有以下各项: def index @images = Image.order('id desc') respond_to do |format| format.js format.html end end 以及my index.js.erb中的以下内容: alert("it works") 如果这也有帮助的话,我在这个项目的咖啡脚本

我在使用index.js.erb时遇到问题,我已经创建了一个index.js.erb,但没有执行它。我的控制器中有以下各项:

def index
    @images = Image.order('id desc')

    respond_to do |format|
      format.js
      format.html
    end
end
以及my index.js.erb中的以下内容:

alert("it works")
如果这也有帮助的话,我在这个项目的咖啡脚本文件中有以下内容:

ImagePoller =
poll: ->
    setTimeout @request, 5000

request: ->
    $.get($('#images').data('url'))

jQuery ->
if $('#images').length > 0
    ImagePoller.poll()

我可以说js.erb文件没有加载,因为我没有看到警报?有什么想法吗?

要发出ajax请求,您需要从“#images”元素检索url。所有你需要确保你的URL包含正确的格式

您只需在代码中添加带有URL的
.js

request: ->
    $.get($('#images').data('url')) + '.js'
然而,更好的方法是使用rails助手方法。例如:

哈姆勒:

#images{:'data-url' => url_for(:action => 'index', :format => 'js')}
<div id="images" data-url="<%=url_for(:action => 'index', :format => 'js')%>"></div>
雇员再培训局

#images{:'data-url' => url_for(:action => 'index', :format => 'js')}
<div id="images" data-url="<%=url_for(:action => 'index', :format => 'js')%>"></div>


后一种情况将在URL中包含“.js”。因此,您不需要在我在开头所示的末尾追加“.js”

您是否在请求末尾使用了适当的格式,如
/images.js
?如果你想让Rails呈现你的'index.js.erb',你的url必须使用
.js
格式进行请求。还要检查你的服务器日志,确保轮询没有发出HTML请求而不是js请求。@hungrycode如何确保我的url生成.js请求表单?@varatis感谢回复,我在哪里可以找到服务器日志?您的控制台上没有运行rails服务器吗?它是不断在你的控制台上打印出来的东西