我有一个名为ip_with_location
的助手,可将10.10.10.10
翻译成10.10.10.10 - DE, Berlin
表格。
用法示例:
index do
...
column :ip do |r|
ip_with_location(r.ip)
end
end
问题是:有没有办法使用自定义助手自动格式化列值?
所以我只想写column :ip
。
在模型级别覆盖ip
getter不是一个选项,因为我只想在ActiveAdmin
答案 0 :(得分:1)
ActiveAdmin没有为此做好准备。
ip_with_location
方法,并在Admin 您可以撰写'模板'
# app/admin/ip_column.rb
require "active_admin/views/index_as_table"
module ActiveAdmin
module Views
class IndexAsTable < ActiveAdmin::Component
class IndexTableFor < ::ActiveAdmin::Views::TableFor
def ip_column
column :ip do |r|
ip_with_location(r.ip)
end
end
end
end
end
end
# app/admin/user.rb
require "ip_column"
index do
id_column
column :name
ip_column
end