用户登录其帐户后,会显示“员工”列表。
截至目前,当您点击一名员工时,它会将用户带到该特定员工的“显示”页面,但是我想在呈现该页面之前向该列表添加一个“图钉保护”方面
我想添加一个简单的身份验证层,如下所示:
当用户在列表中单击其名称时,会出现一个文本字段,询问所选员工的图钉。
用户输入引脚。提交时,它会将输入的引脚与该员工记录的“引脚”列进行比较。如果它是正确的,它将授予访问所选员工的显示页面的权限。
这是在RoR中轻松完成的吗?这是我工作的第一个真正的应用程序,所以我无法围绕这样的几个概念进行思考。
非常感谢!
答案 0 :(得分:0)
看看devise,它绝对是Ruby on Rails 3身份验证层的最佳选择。
如果您只是想为现有的模型类添加一些功能,那么最好的选择是添加一个方法:
def validate_pin(pin_to_check)
self.pin == pin_to_check
end
然后您只需修改您的员工控制器,以便show
方法检查是否已提供引脚(理想情况下通过会话变量),否则重定向并请求引脚使用其他方法和路由控制器中Employee#request_pin
,要求用户输入引脚,成功重定向到Employee#show
路径。
控制器中的会话处理
要编写会话变量,您需要Employee#check_pin
方法(作为POST路由),并且您只需使用代码:
session[:pin_valid] = true
然后,您需要检查session[:pin_valid]
方法
Employee#show