2017-07-07 12 views
0

私はjquery-inputmask-rails gemを使用しています。最終的には、Robin Herbotsのinputmask jQuery pluginを引っ張っています。jQueryのお金入力マスクがレールプロジェクトで動作しません

jquery-inputmask-rails宝石の指示に従って、私はapplication.jsでこれを置く:限り使用が行くように

$(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}); 
}); 

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

そしてここでは私の二つのマスクされているあなただけのことができるようにすべきです適切なマスキングクラスを入力に追加します。

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

問題は私ですそれはmask_phoneマスクが動作するが、mask_moneyはまったく動作しないということです。私はログに気づくん

は、この意見:

TypeError: null is not an object (evaluating 'e.mask.toString')

奇妙なことは、別のプロジェクトであることである:私はjqueryの-inputmaskレールの宝石を使用していないが、代わりにjQueryの入力マスクをもたらしましたコードを直接Vendorディレクトリにコピーし、それがうまくいった。

私には何が欠けていますか?

+0

正しいクラスをターゲットにしていますか? '$( '。mask_amount_in_cents') ' –

+0

申し訳ありませんがタイプミス、私はそれを修正します。 – Neil

+0

この文章では、「私が抱えている問題は、mask_phoneマスクは機能しますが、mask_amount_in_centsはまったく機能しません」。 "mask_amount_in_cents"も "mask_money"であるべきですか? –

答えて

0

jquery-inputmask-rails gemは、Robin Herbotsの入力マスクプラグインのアップデート版を見ていないことを伝えます。

  • 私はvenderフォルダにjQuery.inputmask.bundle.jsを入れ宝石
  • を削除しました。
  • application.jsに私は//= require jquery.inputmask.bundle.jsを入れて、宝石に関連付けられたrequireステートメントを削除しました。

そして、すべての入力マスクが機能しました。

関連する問題