jQuery money输入掩码不能在rails项目中工作

时间:2017-07-07 16:03:00

标签: ruby-on-rails ruby jquery-inputmask

我正在使用jquery-inputmask-rails宝石。最终:它正在吸引Robin Herbots'inputmask jQuery plugin

按照jquery-inputmask-rails gem中的说明,我将其放在application.js

//= require jquery.inputmask
//= require jquery.inputmask.extensions
//= require jquery.inputmask.numeric.extensions

这是我的两个面具:

$(document).on('turbolinks:load', function() {
  $('.mask_phone').inputmask({mask: "(999) 999-9999"});
  $('.mask_money').inputmask({alias: 'currency', rightAlign: true, placeholder: "", prefix: '', autoGroup: false, digitsOptional: true});
});

就用法而言:你应该只需要在输入中添加适当的掩蔽类:

<%= f.text_field :some_field, class: "mask_money" %>

我遇到的问题是mask_phone掩码有效,但mask_money根本不起作用。

我在日志中注意到它说:

  

TypeError:null不是对象(评估'e.mask.toString')

奇怪的是,在另一个项目中:我没有使用jquery-inputmask-rails gem,而是直接将jQuery输入掩码代码引入Vendor目录,并且它有效。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

我的直觉告诉我,jquery-inputmask-rails gem并未查看Robin Herbots的更新版本。输入掩码插件。

  • 我删除了宝石
  • 我将jQuery.inputmask.bundle.js放在Parallel.ForEach(GetEnabledExtensionList(), (extension) => { extension.Init(); extension.Start(); }); 文件夹中。
  • vender中,我添加了application.js并删除了与gem关联的require语句。

然后我的所有输入掩码都有效。