1

我是 Ruby on Rails 和 Javascript 的新手,所以不知道如何继续。我有一个应用程序,它使用了一些时髦的 JQuery UI 组件,特别是 Datepicker 和 Tabs。它们都可以工作,但只有一次我至少刷新了一次页面;在第一次加载时,我只是得到 html,就好像 jquery javascript 文件不存在于 app/assets/javascripts 中一样。

有任何想法吗?第一次加载失败,如何自动刷新页面?

应用程序.js:

$(function() {
  $("#event_start_time").datepicker();
  $("#tabs").tabs();
});

view.html.erb:

<div id="tabs">
  <ul>
    <li><a href="#students"><span>Students</span></a></li>
    <li><a href="#teachers"><span>Teachers</span></a></li>
  </ul>
  <div id="students">
    <%= render 'sessions/student_login_details' %>
  </div>
  <div id="organisations">
    <%= render 'sessions/teacher_login_details' %>
  </div>
</div>

应用程序.html.erb:

  <head>
    <%= yield :scripts %>
    <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
    <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
  </head>
  <body>
    <%= render 'layouts/header' %>
    <div class="container">
      <%= yield %>
      <%= render 'layouts/footer' %>
    </div>
  </body>

编辑:好的,解决了。那是台球室里的 Turbolinks,里面有铅管。这个 gem https://github.com/kossnocorp/jquery.turbolinks有助于解释为什么它偶尔会导致 Javascripts 无法正常运行。谢谢大家!

4

1 回答 1

0

您正在使用 turbolinks,但未在 application.js 中包含 turbolinks js 文件

//= require turbolinks
于 2013-08-19T10:35:11.760 回答