Ruby 在视图中使用if/then是否是合理的安全实践?
我猜不会。以下是我想到的情况:Ruby 在视图中使用if/then是否是合理的安全实践?,ruby,security,if-statement,slim-lang,Ruby,Security,If Statement,Slim Lang,我猜不会。以下是我想到的情况: form action='/12345/destroy', method='POST' - if @current_user.kind_of? Admin button - else span You cant do that 构建这样一个页面的更好方法是什么?为“负责人”创建一个控制器,并在那里设置按钮?如果管理员选择不允许某些用户使用删除按钮,我们又回到原点了吗?谢谢您的示例对我来说非常好,但这取决于您的需求。如果您认为有一天会需要更
form action='/12345/destroy', method='POST'
- if @current_user.kind_of? Admin
button
- else
span You cant do that
构建这样一个页面的更好方法是什么?为“负责人”创建一个控制器,并在那里设置按钮?如果管理员选择不允许某些用户使用删除按钮,我们又回到原点了吗?谢谢您的示例对我来说非常好,但这取决于您的需求。如果您认为有一天会需要更多种类的用户,并且担心视图会变得混乱,我建议您查看ACL库。或者,您可以始终滚动您自己的授权层。您的视图很好,但显然,它并不安全。您必须检查“控制器”(如果有)或该请求的接收端中的权限 而且,这种逻辑可能会在不止一个地方使用。您可以考虑将其提取为辅助方法。
form action='/12345/destroy', method='POST'
= render_destroy_action_for @current_user
一旦在方法中隐藏了该逻辑,以后就更容易更改