我在浏览器检查器上看到的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" %>
答案 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
,但如果您不知道这也可能是此问题的一部分。