Ruby On Rails:jQuery datepicker仅在刷新页面时有效

myh*_*use 4 jquery rubygems ruby-on-rails coffeescript turbolinks

我遇到的问题是,当我浏览表单页面并单击文本字段上的date_sent时,jQuery应该弹出一个datepicker.但是,我一开始什么都没得到,但是当我刷新页面时它就可以了.

我几乎可以肯定我的问题是使用turbolinks,因为我认为我的JavaScript因为turbolinks而没有加载.但是,我不想删除turbolinks,因为没有它我的页面渲染速度很慢.我怎样才能做到这一点?

的application.js

//= require jquery
//= require jquery-ui/datepicker
//= require jquery_ujs
//= require bootstrap-sprockets
//= require cocoon
//= require turbolinks
//= require_tree .
Run Code Online (Sandbox Code Playgroud)

application.scss

 *= require_self
 *= require jquery-ui/datepicker
 *= require_tree .
 */

@import 'bootstrap-sprockets';
@import 'bootstrap';
@import 'sites';
Run Code Online (Sandbox Code Playgroud)

form.coffee

jQuery ->
    $('#send_date').datepicker()
Run Code Online (Sandbox Code Playgroud)

form.html.erb

<div class="form-group" >
      <%= f.label :date_sent, class: 'control-label' %><br>
      <%= f.text_field :date_sent, id: 'send_date' %>
</div>
Run Code Online (Sandbox Code Playgroud)

Bar*_*dys 6

你尝试过turbolinks:load活动吗?

$(document).on "turbolinks:load", -> 
Run Code Online (Sandbox Code Playgroud)

代替:

$(document).ready, -> 
Run Code Online (Sandbox Code Playgroud)