设计授予管理员权限以进行销毁
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 不再维护。
刚刚向 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 不再维护。