我不知道如何在ActiveAdmin中格式化時間。 這是我的索引列表:ActiveAdmin中的時間格式
index do
selectable_column
column :book
column :user
column :time
actions
end
我怎樣才能格式字段:時間%H:%I:%s嗎?可能嗎。 我需要這樣的東西:
:format => :short
我不知道如何在ActiveAdmin中格式化時間。 這是我的索引列表:ActiveAdmin中的時間格式
index do
selectable_column
column :book
column :user
column :time
actions
end
我怎樣才能格式字段:時間%H:%I:%s嗎?可能嗎。 我需要這樣的東西:
:format => :short
如果你想改變它的每一個地方,然後修改配置/區域/ en.yml格式像這樣
en:
time:
formats:
long: "%Y-%m-%d %H:%M:%S"
否則只是你現在的列然後做
column(:time) { |time| object.time.strftime("%Y-%m-%d %H:%M:%S") }
好方法:使用裝飾器。
的好辦法: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
錯誤的參數數目(1代表0) – dziorkowsky
更好的寫一個裝飾器。 http://nithinbekal.com/posts/ruby-decorators嘗試自己手動一個。 – bsvin33t
@ franek100milionow我給你一個如何手工裝飾的例子。您可以將其用作模板,並將所有視圖邏輯推送到類似的位置,以便您的代碼更易於測試,從而更易於維護。 – bsvin33t
當我改變time.formats。升ong does working,但我需要time.formats.short :) 未定義的方法'strftime'for#<結果:0x007fd8a9867750> – dziorkowsky