【问题标题】:Rails Admin input mask [Rails 6]Rails 管理员输入掩码 [Rails 6]
【发布时间】:2020-08-11 20:17:33
【问题描述】:

我需要一些输入来获得掩码。示例:电话字段应类似于“(xxx) xxxxx-xxxx”

如何在掩码中包含这些“()”和“-”。

我的应用程序使用 Rails-Admin,我尝试添加一些 js,但当我访问“/admin”时不起作用

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-6 rails-admin


    【解决方案1】:

    您需要为此使用自定义插件,我推荐 inputmask 用于 jQuery,因为 rails admin 已经包含 jQuery。

    然后你可以将库inputmask.js 包含在

    app/assets/javascripts/rails_admin/custom/inputmask.js
    

    还有bindings for automasking

    app/assets/javascripts/rails_admin/custom/inputmask.binding.js
    

    然后在你的项目中添加这个文件

    app/assets/javascripts/rails_admin/custom/ui.js
    

    有了这个内容

    //= require_tree .
    //= require 'rails_admin/custom/inputmask.js'
    //= require 'rails_admin/custom/inputmask.binding.js'
    

    然后只需使用掩码配置字段即可,因为 inputmask.js 的文档建议类似这样

      rails_admin do
        edit do
          field :phone do
            html_attributes do
              {
                'data-inputmask' => "'mask': '(999) - 99999-9999'"
              }
            end
          end
        end
    

    我在我的项目上试过它看起来像这样

    Screenshot of field with custom mask

    【讨论】:

    • 我将它应用到我的代码并检查我可以看到<input class="form-control" data-inputmask=" mask: '(99) 99999-9999' " type="text" name="telefone[telefone]" id="telefone_telefone" wfd-id="56"> 的字段。好像是在html中应用了遮罩,但仍然没有给我效果。
    • 它本身不起作用,你需要inputmask库,你确定它被包含了吗?
    • 是的。我已经运行了应该可以工作的“ yarn add inputmask”,对吧?
    • 我认为不会添加绑定,您必须手动检查库自述文件的使用部分的第一部分。
    • 我不明白。你能解释一下吗?我怎么手动放?在什么文件中?
    【解决方案2】:

    也为此苦苦挣扎了一段时间,但这个过程终于奏效了:

    1. 在此处获取此 gem 的最新推荐版本并添加到 Gemfile: https://rubygems.org/gems/jquery-mask-plugin

    2. 在终端中运行包

    3. 重启 Rails 服务器

    4. 添加这些行(原样):

    //= 需要 jquery.inputmask

    //= 需要 jquery.inputmask.extensions

    //= 需要 jquery.inputmask.numeric.extensions

    //= 需要 jquery.inputmask.date.extensions

    ..在你项目的这个文件夹中:app/assets/javascripts/application.js

    1. 按照 gem 文档中的说明找到最适合您的方法:https://github.com/RobinHerbots/Inputmask (我用的是 jquery 插件)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      相关资源
      最近更新 更多