Ale*_*ube 8 javascript ruby-on-rails zurb-foundation drop-down-menu ruby-on-rails-4
我在我的rails 4应用程序中使用基础5.当我发送请求时,顶部栏菜单工作正常.我可以悬停项目和嵌套项目没有问题.然后,我单击其中一个项目,其中包含与之关联的link_to方法.有时它会给出正确的结果,我的菜单仍然可以正常工作,但有时候整个事情会冻结.这也使移动菜单的后退按钮消失.一旦我通过刷新或网址发送新请求,菜单就会再次运行.
Rails在日志文件中没有看到任何问题.我的菜单在rails之外工作正常.我想知道是否可能与我的link_to tag_helpers或我在我的应用程序中设置基础的方式有关?
以下是JS如何为基础路由的快速概述.(他们在他们的文档上建议的配置)views/layouts/application.html.erb:
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "vendor/modernizr" %>
</head>
<body>
<%= javascript_include_tag "application" %>
</body>
Run Code Online (Sandbox Code Playgroud)
资产/ application.js中:
//= require jquery
//= require jquery_ujs
//= require foundation
//= require turbolinks
//= require_tree .
$(document).foundation();
Run Code Online (Sandbox Code Playgroud)
还有其他人遇到过这个问题吗?除了不使用粉底5之外的任何好的解决方案?
谢谢Alex
Ecn*_*lyr 11
基金会已知道Turbolinks的问题,您的问题可能就是由此引起的.
要解决这个问题,您可以禁用Turbolinks并查看顶栏是否仍有问题.
这是一个简单的指南:http://blog.steveklabnik.com/posts/2013-06-25-removing-turbolinks-from-rails-4.
除此之外,如果你必须拥有Turbolinks,那么Turbolinks就是问题所在.您可以尝试添加jquery turbolinks,如下所示:https://github.com/kossnocorp/jquery.turbolinks.
如果问题仍然存在,下一步将是检查您导入javascript文件的顺序(这与Turbolinks/Foundation问题有关),您可能会对此感到满意.我没有确切的订单让你把它们放进去,但如果你搜索"Turbolinks Foundation"问题,你最终会偶然发现一些解决方案. 这不一定是某种解决方案,但它会引导您朝着正确的方向前进.
更新:尝试此订单导入您的JavaScript资源.并且,引用来源:
将所有Javascripts加载到标记内是很重要的.包含jQuery的顺序很重要 - 确保在turbolinks之前和jquery之后加载jquery.turbolinks.在你的application.js中包含jquery-turbolinks.js和turbolinks.js之间的所有自定义js
// app/assets/javascript/application.js
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require foundation
//= require jwplayer/jwplayer.js
//= require asset_videos
//= require turbolinks
Run Code Online (Sandbox Code Playgroud)
注意:请阅读Alex Aube在此页面上的答案,以获取更多有用信息.
好.与Ecnalyr解释的一致.(他正确地解释了,我有点误解了).这对我有用:
我保留 = javascript_include_tag "application"在application.html.erb正文的末尾
application.js是这样的:
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require foundation
//= require_tree .
$(document).foundation();
//= require turbolinks
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2726 次 |
| 最近记录: |