[英]Pickadate is not a function. Rails
這是我第一次來。 我擔心的是
Uncaught TypeError: $(...).pickadate is not a function
控制台中的錯誤。
在此之前,我能夠包含在Javascript [Chrome中的F12]中檢測到的文件(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>
application.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();
});
對我來說,這樣的問題是由我正在使用或缺少的jQuery引起的。 我不得不使用yarn安裝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
包。 您可以在此處找到具有更詳細說明的相關資源,盡管它是用於在導軌上安裝引導程序的資源,但它與導軌具有相同的概念。
另外,請確保您在pickadate-rails
有pickadate-rails
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
你可以試試這個
$(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-rails
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.