刚刚向 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 初学者。有很多东西要学习。如果这已经记录在某处,您可以指出我那个方向吗?
给你。相当广泛的文档:
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 不再维护。