我不知道如何在ActiveAdmin中格式化时间。 这是我的索引列表:
index do
selectable_column
column :book
column :user
column :time
actions
end
我如何格式化字段:时间为%H:%i:%s?可能吗。 我需要这样的东西:
:format => :short
答案 0 :(得分:2)
如果你想在每个地方改变它,那么修改config / locale / en.yml中的格式就像这样
en:
time:
formats:
long: "%Y-%m-%d %H:%M:%S"
其他只是你现在的专栏然后做
column(:time) { |time| object.time.strftime( "%Y-%m-%d %H:%M:%S") }
答案 1 :(得分:2)
在config/initializers/active_admin.rb
中,查找localize_format
:
config.localize_format = '%H:%i:%s'
答案 2 :(得分:1)
好方法:使用装饰师。
穷人的方式:column (:time) {|obj| obj.time.to_s(:short)}
使用装饰器(创建装饰器目录)
app/decorators/results_decorator.rb
class ResultsDecorator
def intialize(result)
@result = result
end
def time
unless @result.time.nil?
@result.time.to_s(:short)
end
end
end
app/admin/result.rb
index do
selectable_column
column :book
column :user
column ('Time') {|result| ResultsDecorator.new(result).time }
actions
end