为rails_admin创建自定义字段

时间:2015-10-16 13:45:08

标签: ruby-on-rails postgresql ruby-on-rails-4 rails-admin form-helpers

我正在尝试使用脚本here为postgres的numrange数据类型创建自定义字段。生成的引擎(是吗?)包含下面的表单助手,但我无法在任何地方找到form.send方法的文档。 是否有人可以指向我,以便我可以修改部分内容?

= form.send field.view_helper, field.method_name, field._html_attributes

我要做的是创建两个输入并将其解析为rails_admin字段类型类中的Range。

1 个答案:

答案 0 :(得分:0)

以下是我创建一些自定义字段来处理数组的方法。这是一篇有用的文章https://github.com/sferik/rails_admin/issues/1218

class RailsAdminArray < RailsAdmin::Config::Fields::Base
  register_instance_option :formatted_value do
    value.join(',') if value
  end
end
class RailsAdminStringArray < RailsAdminArray
  RailsAdmin::Config::Fields::Types::register(:string_array, self)
  def parse_input(params)
    if params[name].is_a?(::String)
      params[name] = params[name].split(',').collect{|s| s.strip}
    end
  end
end
class RailsAdminIntArray < RailsAdminArray
  RailsAdmin::Config::Fields::Types::register(:int_array, self)
  def parse_input(params)
    if params[name].is_a?(::String)
      params[name] = params[name].delete(' ').split(',').collect{|x| x.to_i}
    end
  end
end

然后我把它添加到我的rails_admin.rb。

require Rails.root.join('lib', 'rails_admin', 'custom_fields.rb')
...
edit do
  field :tags, :string_array
end