在Rails管理员的字段中更改值格式

时间:2018-06-13 01:23:48

标签: ruby-on-rails ruby rubygems ruby-on-rails-5 rails-admin

我的User模型列显示直接从数据库中提取的phone_numbers。我希望我的Rails管理员显示这些格式化的数字。

例如: `Current` => `What I want` 1234567890 => (123) 456-7890

这是我目前在rails_admin.rb文件中的内容:

  config.model User do
    list do
      field :id
      field :full_name
      field :email
      field :phone_number
    end

我试图从维基实现虚拟字段(https://github.com/sferik/rails_admin/wiki/Fields),但没'吨工作

# From users.rb - User Model
  def phone_number_formatted
    #method to format number
  end

  # From rails_admin.rb
  config.model User do
    list do
      field :id
      field :full_name
      field :email
      field :phone_number_formatted, :phone_number
    end

有什么建议吗?任何帮助是极大的赞赏。谢谢!

2 个答案:

答案 0 :(得分:0)

再次检查维基,您会看到Just define them as methods on your model, then configure a field of the same name.

因此,只需在用户模型中定义phone_number_formatted方法

即可

并在rails_admin.rb中使用field :phone_number_formatted

答案 1 :(得分:0)

如果你想保持rails admin格式化逻辑,你可以这样做

  config.model User do
    list do
      field :id
      field :full_name
      field :email
      field :phone_number do
        formatted_value do
          value.split('-') # Or whatever you want to do
        end
      end
    end