0

这是我第一次在 SO。我担心的是我得到

Uncaught TypeError: $(...).pickadate is not a function

控制台中的错误。

在此之前,我能够包含在 Javascript [F12 in Chrome] 中检测到的文件(picker.js、picker.date.js、picker.time.js)。

以下是其他代码:

_form.html.erb

<div class="pure-control-group">
    <%= t.label :start_date %>
    <%= t.text_field :start_date, class: 'datepicker' %>
</div>

应用程序.js

//= require_self
//= require jquery
//= require rails-ujs
//= require angular
//= require angular-animate
//= require angular-resource


//= require picker
//= require picker.date
//= require picker.time
//= require globals
//= require users

globals.js

$(document).ready(function(){

    $('p').click(function(){
        $(this).hide();
    });

    $('.datepicker').pickadate();

});
4

2 回答 2

0

对我来说,这样的问题是由我使用的 jquery 或缺少 jquery 引起的。我必须使用纱线安装 jquery:

yarn add jquery

完成后,它应该包含在您的node_modules文件夹中。确认您的config/initializers/assets.rb:

Rails.application.config.assets.paths << Rails.root.join('node_modules')

然后,您可以assets/application.js像这样包含 jquery:

//= require jquery/dist/jquery

由于某种原因,我无法拿到jquery-rails包裹。您可以在此处找到具有更详细说明的相关资源,虽然它用于在 rails 上安装引导程序,但它对 rails 具有相同的概念。

另外,请确保您pickadate-rails的 Gemfile 中有 gem 并且您已运行$ bundle install. 将这些更改保留在您的application.js

//= require picker
//= require picker.date
//= require picker.time

进行更改后也重新启动服务器。

有关如何在 Rails 上实现 jquery-rails 的更多信息,请查看此链接: https ://medium.com/@chantaljustamond/implementing-pickadate-js-on-a-rails-app-c47af58c33af

于 2018-08-15T07:57:05.167 回答
-1

你可以试试这个

$(document).ready(function(){

    $('p').click(function(){
        $(this).hide();
    });

    $('.datepicker').pickadate(
    selectMonths: true, // Creates a dropdown to control month
    selectYears: 3 // Creates a dropdown of 15 years to control year
  });
);

});

或者如果我没有解决您的问题,那么您可以尝试在 gemfile 中添加 gem 的 rails 方式,然后运行命令。pickadate 的最佳宝石是pickadate-rails

于 2017-08-11T12:33:42.200 回答