设计授予管理员权限以进行销毁

Devise Giving Admin Privileges to Destroy

刚刚向 Devise 添加了一个 Admin 模型。我在 Rails 4.

我想授予管理员权限以销毁和更新其他用户创建的文章。

找不到有关如何执行此操作的文档。

现在我的索引页上有这个,它允许当前的创作者 destroy/edit:

<% if current_user == article.user %>
  <p>
    <%= link_to 'Edit', edit_article_path(article) %>
    <%= link_to 'Destroy', article, method: :delete, data: { confirm: 'Are you sure?' } %>
  </p>
<%end%>

我可以在这里添加一些东西让管理员也能做到这一点吗?

这也是我在 articles_controller 中的销毁操作:

def destroy
  @article = current_user.articles.find(params[:id])
  @article.destroy
 respond_to do |format|
  format.html { redirect_to articles_url, notice: 'Article was successfully destroyed.' }
  format.json { head :no_content }
 end
end

感谢您的帮助!仍然是 rails 新手。大量学习。如果这已经记录在某处,请指出我的方向。谢谢!

给你。相当广泛的文档:

https://github.com/plataformatec/devise/blob/master/README.md

第一步是简单地添加

 before_action :authenticate_user!

给你的控制器。

如果您还需要授权,请查看 cancan:

https://github.com/ryanb/cancan

或者更确切地说 https://github.com/elabs/pundit 因为 CanCan 不再维护。