设计赋予管理员销毁权限

问题描述 投票:0回答:1

刚刚向 Devise 添加了一个管理模型。我在 Rails 4 上。

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

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

现在我的索引页面上有这个,它允许当前创建者销毁/编辑:

<% 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 初学者。有很多东西要学习。如果这已经记录在某处,您可以指出我那个方向吗?

ruby-on-rails ruby ruby-on-rails-4 devise admin
1个回答
0
投票

给你。相当广泛的文档:

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 不再维护。

© www.soinside.com 2019 - 2024. All rights reserved.