Jquery / Datepicker在本地工作但不在生产中(heroku)

时间:2014-03-20 20:08:19

标签: jquery ruby-on-rails ruby jquery-ui datepicker

我在浏览器检查器上看到的javascript错误消息说

"ReferenceError: Can't find variable $" on application-ccd035fs...... .js:1"

虽然在本地工作得很好。基于错误,我想象它并不是在识别jQuery语法。不知道如何解决它。非常感谢帮助!

我的application.js如下:

//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require_tree .

$(document).ready(function(){
    $('#showdate').datepicker({date_format: "dd/mm/yyyy", altField: '#mile_date', altFormat: 'yy-mm-dd'});
 });

我的宝石文件有gem:

'jquery-rails', '~> 2.3.0'

我的布局在头部有以下内容:

<%= javascript_include_tag "application" %>

相关表格代码如下:

<div class="field">
    <%= f.label :date, "Date:" %><br />
    <%= f.text_field :date, :id => "showdate" %>
 </div>
    <%= f.hidden_field :date, :id => "mile_date" %>

1 个答案:

答案 0 :(得分:1)

可能不是最好将代码放入application.js中,如文件本身中的此行所示。

// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.

在您的视图中尝试此操作

<div class="field">
    <%= f.label :date, "Date:" %><br />
    <%= f.text_field :date, :class => "datepicker" %>
    <%= f.hidden_field :date %>
</div>

然后在另一个文件中从coffescript调用这个(这将允许你通过在应用程序的任何位置将类datepicker添加到输入元素来构建任意数量的datepickers)

$ ->
  $("input.datepicker").each (i) ->
    $(this).datepicker
    altFormat: "yy-mm-dd"
    dateFormat: "dd/mm/yy"
    altField: $(this).next()

此外,您没有提及您的Gemfile中是否有jquery-ui-rails,但如果您不知道这也可能是此问题的一部分。