我正在向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
配置日期时间字段的正确方法是什么,以便在展示视图中看到它们?
答案 0 :(得分:2)
默认情况下会隐藏这些字段,您可以在此处看到:
您可以在配置初始化程序中覆盖此设置,只需打开文件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_at
和acknowledged_at
的内容应该有效。确保您尝试的记录&#34;显示&#34;有这些领域的日期。
对于created_at
和updated_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