Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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运行得很完美,有时候在RubyonRails4中就不是了_Javascript_Ruby On Rails 4_Datepicker_Sprockets_Turbolinks - Fatal编程技术网

有时候javascript运行得很完美,有时候在RubyonRails4中就不是了

有时候javascript运行得很完美,有时候在RubyonRails4中就不是了,javascript,ruby-on-rails-4,datepicker,sprockets,turbolinks,Javascript,Ruby On Rails 4,Datepicker,Sprockets,Turbolinks,我在日历中使用datepicker,它显示完美,但不显示更改月份的箭头按钮。有时也会出现这样的错误: ActionController::RoutingError (No route matches [GET] "/assets/images/ui-icons_ef8c08_256x240.png") datepicker.js $(document).ready(function(){ $('[data-behaviour~=datepicker]').datepicker(); })

我在日历中使用datepicker,它显示完美,但不显示更改月份的箭头按钮。有时也会出现这样的错误:

ActionController::RoutingError (No route matches [GET] "/assets/images/ui-icons_ef8c08_256x240.png")

datepicker.js

$(document).ready(function(){
  $('[data-behaviour~=datepicker]').datepicker();
});
css

对不起,问题太长了,如果我遗漏了什么,请告诉我

非常感谢

编辑:
我注意到,当我删除public/assets目录,然后输入rake-assets:precompile时,这次没有显示错误,但仍然没有显示箭头。

这看起来像是默认情况下添加到rails 4的turbolinks问题。在turbolinks$(文档)中,ready并不总是启动。您可以在此处查看有关TurboLink的更多信息以及如何使用它们的一些建议,也可以添加到一些链接中

data: { no_turbolink: true }
如果不需要,也可以从文件中删除TurboLink。还要检查您是否在中有ui-icons\u ef8c08\u 256x240.png

/assets/images/

您也可以按照这里的说明操作。基本上,您必须告诉javascript也在page:load上执行

归功于

咖啡:

ready = ->

  ...your coffeescript goes here...

$(document).ready(ready)
$(document).on('page:load', ready)
Javascript:

var ready;
ready = function() {

  ...your javascript goes here...

};

$(document).ready(ready);
$(document).on('page:load', ready);

首先,安装
jquery turbolinks
gem。然后,不要忘记将包含的Javascript文件从
应用程序.html.erb
主体的末尾移动到它的


同样,如果出于速度优化的原因将应用程序javascript链接放在页脚中,则需要将其移动到标记中,以便在加载标记中的内容之前加载。这个解决方案对我很有效。

是的,我想turbolinks在我读到这篇文章的地方引起了一些问题。但是兄弟,我的图像存在于/assets/images/中,我也尝试了rake assets:precompilec你能在使用这个图像的地方添加一个css吗?Turbolinks负责奇怪的javascript工作。图标问题与css中图像的错误路径或链轮应用程序中的某些要求有关。cssso我该怎么办?