将旧版 Rails 应用程序更新到新版本的 Foundation(gem foundation-rails
从 5.5.3.2 到当前版本 6.1.2.0)。删除了 sass
、sass-rails
和 foundation-rails
的 gems 版本规范。运行rails g Foundation:install
。
无法使用rails-assets-foundation-datepicker
gem,与datagrid
一起使用,并且chrome开发者工具显示错误:
foundation.core-fcefb93….js?body=1:282 Uncaught TypeError: We're sorry, 'object' is not a valid parameter. You must use a string representing the method you wish to invoke.
application.js
//= require jquery
//= require jquery_ujs
//= require foundation
//= require evil-blocks
//= require chosen-jquery
//= require foundation-datepicker
//= require_tree .
$(function(){ $(document).foundation(); });
application.css
/*
*= require_self
*= require normalize-rails
*= require chosen
*= require foundation_and_overrides
*= require foundation-datepicker
*= require_directory .
*/
libs.js.coffee
$ ->
$(document).foundation
equalizer:
equalize_on_stack: false
$('#filter select').chosen
allow_single_deselect: true
$('.date-picker').fdatepicker
language: 'ru'
weekStart: 1
closeButton: false
format: 'yyyy-mm-dd'
日期选择器使用示例:
filter :start_date, :date, header: I18n.t('date_start'),
html_options: {class: 'date-picker'} do |value, scope|
scope.where('notices.created_at > ?', value)
end
请原谅我的英语不好。
最佳答案
找到解决方案here .
$(document).foundation
equalizer:
equalize_on_stack: false
这是旧代码,不适用于 Foundation 6。您需要在这样的元素中添加 data-equalize-on-stack="false"
<div class="box-group" data-equalizer data-equalize-on-stack="false">
关于javascript - 更新 Rails Foundation-rails gem 5 到 6,datepicker 不起作用,页面加载时出现 JS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38349102/