模型的覆盖方法
Override method for Model
我正在使用以下代码自定义我的活动管理员
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
字段。我如何覆盖此方法以隐藏这些字段?有没有办法也申请所有其他型号?
我找到了文件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
我正在使用以下代码自定义我的活动管理员
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
字段。我如何覆盖此方法以隐藏这些字段?有没有办法也申请所有其他型号?
我找到了文件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