我正在使用以下代码自定义我的活动管理员
ActiveAdmin.register Question do
index do
Question.column_names.each do |c|
column c.to_sym
end
end
show do
attributes_table do
Question.column_names.each do |c|
row c.to_sym
end
end
end
end
但是,我不想显示某些字段,例如created_at
和updated_at
字段。如何覆盖此方法以隐藏那些字段?是否有办法也适用于所有其他模型?
答案 0 :(得分:0)
我找到了文件app/models/application_record.rb
。在这里,我写了一个新方法(如果需要,您可以覆盖当前方法,但是我认为这种新方法更好)
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
def self.column_names_without(*names)
column_names - (%w[created_at updated_at] | names)
end
end
然后,将ActiveAdmin
代码修改为
ActiveAdmin.register Question do
index do
selectable_column
Question.column_names_without('quiz_id').each do |c|
column c.to_sym
end
end
show do
attributes_table do
Question.column_names_without('quiz_id').each do |c|
row c.to_sym
end
end
end
end