2017-01-11 48 views
1

ActiveAdmin面板整合後,我試圖找到我在哪裏可以modifiy任何選項刪除的可能性delete commentsRAILS - ActiveAdmin禁用註釋刪除?

但我不能找到這個隨時隨地

則可能是去除comments去除?

回答

1

解決方案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 

第一個解決方案是更好的。

+0

解決方案1是完美的!謝謝 – F4Ke