刚刚为Devise添加了一个Admin模型。我在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中的destroy动作:
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
感谢您的帮助!仍然是铁杆新手。吨学习。如果已经在某处记录了这一点,请指点我这个方向。谢谢!
答案 0 :(得分: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已不再维护。