为什么我在rails_admin show view中看不到datetime字段?

时间:2014-08-08 16:22:02

标签: datetime rails-admin

我正在向rails_admin添加新模型。即使没有任何配置,列表页面也会正确显示日期时间字段。但是给定对象的详细(显示)页面不显示日期时间。如何配置rails_admin以在显示页面上显示日期时间字段?

模型文件:alert_recording.rb:

class AlertRecording < ActiveRecord::Base
  attr_accessible :user_id, :admin_id, :message, :sent_at, :acknowledged_at, :created_at, :updated_at
end

Rails_admin初始化文件:

...
config.included_models = [
  AlertRecording
]

...

config.model AlertRecording do
  field :sent_at, :datetime
  field :acknowledged_at, :datetime
  field :message
  field :user
  field :admin
  field :created_at, :datetime
  field :updated_at, :datetime
  list do; end
  show do; end
end

配置日期时间字段的正确方法是什么,以便在展示视图中看到它们?

2 个答案:

答案 0 :(得分:2)

默认情况下会隐藏这些字段,您可以在此处看到:

https://github.com/sferik/rails_admin/blob/ead1775c48754d6a99c25e4d74494a60aee9b4d1/lib/rails_admin/config.rb#L277

您可以在配置初始化程序中覆盖此设置,只需打开文件config/initializers/rails_admin.rb并将此行添加到其中:

config.default_hidden_fields = []

或类似的东西:

config.default_hidden_fields = [:id, :my_super_top_secret_field]

这样您就不需要对应用中的每个模型进行配置;)

但是!!! 这会在编辑操作中显示这些字段,因此在这种情况下隐藏id,created_at和updated_at是个好主意。

要执行此操作,您可以在此设置上指定哈希值,如下所示:

config.default_hidden_fields = {
  show: [],
  edit: [:id, :created_at, :updated_at]
}

voilà,你有你想要的。 ;)

答案 1 :(得分:1)

sent_atacknowledged_at的内容应该有效。确保您尝试的记录&#34;显示&#34;有这些领域的日期。

对于created_atupdated_at,请尝试this

config.model AlertRecording do
  field :created_at
  configure :created_at do
    show
  end
  field :updated_at, :datetime
  configure :updated_at do
    show
  end
end