Создание пользовательского поля для rails_admin

Я пытаюсь создать настраиваемое поле для типа данных postgres numrange с помощью скрипта здесь . Сгенерированный движок (так ли это?) содержит хелпер формы ниже, но я нигде не смог найти документацию по методу form.send. Может ли кто-нибудь указать мне на него, чтобы я мог частично изменить его?

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

То, что я пытаюсь сделать, это создать два ввода и проанализировать их в Range в классе типа поля rails_admin.


person harinsa    schedule 16.10.2015    source источник


Ответы (1)


Вот как я создал несколько настраиваемых полей для работы с массивами. Вот полезная статья 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
person Dmitry Polyakovsky    schedule 15.01.2016