相关疑难解决方法(0)

Rails 4:如何使用带有turbo-links的$(document).ready()

我试图组织JS文件"rails way"时,在我的Rails 4应用程序中遇到了一个问题.他们以前分散在不同的观点中.我将它们组织成单独的文件,并使用资产管道进行编译.但是,我刚刚了解到,当打开turbo-linked时,jQuery的"就绪"事件不会触发后续点击.第一次加载页面时它可以工作.但是当你点击链接时,内部的任何内容ready( function($) {都不会被执行(因为页面实际上并没有再次加载).好解释:这里.

所以我的问题是:在启用turbo-links时,确保jQuery事件正常工作的正确方法是什么?您是否将脚本包装在特定于Rails的侦听器中?或者也许rails有一些魔力让它变得不必要?文档对于它应该如何工作有点模糊,特别是关于通过像application.js这样的清单加载多个文件.

javascript jquery asset-pipeline turbolinks ruby-on-rails-4

417
推荐指数
9
解决办法
17万
查看次数

Datepicker不显示日历

我在我的应用程序中有一个表单,我可以从日期选择器日历中选择一个日期.刷新页面时,单击表单时会出现日期选择器日历.这是正确的行为.

但是,当我使用链接从其他页面到达同一页面时,单击表单后不会显示日历.我必须刷新页面才能使日历可见.

这是我的表单页面:

# app/views/reservations/_form.html.erb
...

      <div class="row reservations">
        <div class="span2 field">
          <%= f.label :mydate %><br />
          <%= f.text_field :mydate, class: "input-append date datepicker", value: Date.today.strftime('%d-%m-%Y') %>
        </div>
...
Run Code Online (Sandbox Code Playgroud)

我的javascript代码:

# app/assets/javascripts/reservations.js.coffee
$ -> $('.date').datepicker({
    format: 'dd-mm-yyyy'
    autoclose: true
    todayHighlight: true
    language: 'fr'
});
Run Code Online (Sandbox Code Playgroud)

和Gemfile:

source 'https://rubygems.org'

ruby "2.0.0"

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0.beta1'
gem 'bootstrap-sass', '2.3.1.0'
gem 'bcrypt-ruby', '3.0.1'
gem 'protected_attributes'
gem 'will_paginate'
gem 'bootstrap-will_paginate'
gem 'bootstrap-datepicker-rails'
gem 'rails-i18n'

gem 'pg'

# …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails datepicker turbolinks

9
推荐指数
1
解决办法
3626
查看次数