ActiveAdmin中的时间格式

时间:2015-04-08 13:44:32

标签: ruby-on-rails activeadmin

我不知道如何在ActiveAdmin中格式化时间。 这是我的索引列表:

  index do
    selectable_column
    column :book
    column :user
    column :time
    actions
  end

我如何格式化字段:时间为%H:%i:%s?可能吗。 我需要这样的东西:

:format => :short

3 个答案:

答案 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