RAILS - ActiveAdmin 禁用评论删除?
RAILS - ActiveAdmin disable comments delete?
集成ActiveAdmin
面板后,我试图找到在哪里可以修改任何选项以消除delete comments
的可能性
但是我到处都找不到这个
是否可以删除 comments
删除?
解决方案 1
您可以按照此处所述提供自己的 AuthorizationAdapter 来做到这一点:http://activeadmin.info/docs/13-authorization-adapter.html
您的 authorized?
方法应该是:
def authorized?(action, subject = nil)
!(action == ActiveAdmin::Auth::DESTROY && subject.is_a?(ActiveAdmin::Comment))
end
解决方案 2
或者您可以覆盖 ActiveAdmin 的 build_comment
生成评论部分的方法。
将其放入lib/active_admin.rb
# Overriding ActiveAdmin's `build_comment` method.
# The original code is here:
# https://github.com/activeadmin/activeadmin/blob/d01155f73a0e2cc27d712792270357e2b3759d05/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb
#
module ActiveAdmin
module Comments
module Views
class Comments < ActiveAdmin::Views::Panel
def build_comment(comment)
div for: comment do
div class: 'active_admin_comment_meta' do
h4 class: 'active_admin_comment_author' do
comment.author ? auto_link(comment.author) : I18n.t('active_admin.comments.author_missing')
end
span pretty_format comment.created_at
end
div class: 'active_admin_comment_body' do
simple_format comment.body
end
end
end
end
end
end
end
第一个方案更好。
集成ActiveAdmin
面板后,我试图找到在哪里可以修改任何选项以消除delete comments
但是我到处都找不到这个
是否可以删除 comments
删除?
解决方案 1
您可以按照此处所述提供自己的 AuthorizationAdapter 来做到这一点:http://activeadmin.info/docs/13-authorization-adapter.html
您的 authorized?
方法应该是:
def authorized?(action, subject = nil)
!(action == ActiveAdmin::Auth::DESTROY && subject.is_a?(ActiveAdmin::Comment))
end
解决方案 2
或者您可以覆盖 ActiveAdmin 的 build_comment
生成评论部分的方法。
将其放入lib/active_admin.rb
# Overriding ActiveAdmin's `build_comment` method.
# The original code is here:
# https://github.com/activeadmin/activeadmin/blob/d01155f73a0e2cc27d712792270357e2b3759d05/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb
#
module ActiveAdmin
module Comments
module Views
class Comments < ActiveAdmin::Views::Panel
def build_comment(comment)
div for: comment do
div class: 'active_admin_comment_meta' do
h4 class: 'active_admin_comment_author' do
comment.author ? auto_link(comment.author) : I18n.t('active_admin.comments.author_missing')
end
span pretty_format comment.created_at
end
div class: 'active_admin_comment_body' do
simple_format comment.body
end
end
end
end
end
end
end
第一个方案更好。