ruby-on-rails - 如何限制用户删除不属于他们的帖子?
问题描述
所以我正在关注本教程https://medium.com/@deallen7/how-to-build-a-reddit-like-site-with-ruby-on-rails-7b6cd106463d并进入了我添加这个的部分
before_filter :authenticate_user!, except: [:index, :show]
到我的链接控制器。我正在使用设计 gem,当没有用户登录时,我不应该能够通过视图销毁帖子,但我可以。上面的代码是否已弃用?
解决方案
如果您继续阅读您发布的链接,新版本,您会发现它应该是
before_action :authenticate_user!, except: [:index, :show]
再往下显示在您的视图中添加它:
<% if link.user == current_user %>
<td><%= link_to 'Edit', edit_link_path(link) %></td>
<td><%= link_to 'Destroy', link, method: :delete, data: { confirm: 'Are you sure?' } %></td>
<% end %>
但是请记住,如果没有后端权限,熟练的用户可能会破解它。虽然这个例子可能是了解 Rails 基本概念的一个很好的基本方法,但这里有很多关于如何编码的不好的做法。我建议寻找更好的材料来学习。
推荐阅读
- excel - 有没有办法从另一个工作簿插入工作表而无需每次都打开工作簿的实例?
- python - re.match 从不返回 None?
- aws-cloudwatch-log-insights - 在 CloudWatch Log Insights 中更改条形图 x 轴方向
- javascript - 使用包含 gtag 的脚本在 Google Analytics 中触发自定义事件
- javascript - 我如何将其设置为异步函数
- java - 从文本文件读取时如何在java中跳过注释
- angular - 模板驱动表单中的角度材料日期选择器验证问题
- java - 如何 flatMap 自定义创建的类?
- javascript - 如何按值 JavaScript 对 JSON 数据进行排序?
- python - 无法在 Python 中解压不可迭代的方法对象错误