最大的感悟是 代码都不是问题, 最重要是如何设计, 思路真的很重要. 代码只是实现你的设计用的.
要怎么才能体现出admin这个权限, 我一直代入的是之前做的is_member的思路, 就觉得很麻烦, 其实有新的办法. 所以对编程来说, 新的工具真的重要, 编程的经验也真的重要.
在思考, 代码里面"if"与"unless"的作用是否相同. 感觉unless好像更强势一些? 不对, 好像区别是, 在用"if"后面跟着包含否定的"!"的代码情况下, 用unless替换就能后面跟着"非否定"的代码了.
if current_user.email != "xin@hotmail.com"
可以改成
unless current_user.email = "xin@hotmail.com"
大概这样的感觉
有趣的错误
在写限制条件的时候, 发现一个有趣的错误
在admin/job的controller改写filter的时候, 把简单的"email !="改成 ".admin"
然后要去user的model里面定义"admin?"
我直接写成
报错...发觉到 "!="同等意义的符号不是"="而是"==", 遂改
报错...没辙, 去瞄一眼教程, 不能重复出现"current_user" 因为会跟controller里面的"current_user.admin?"的前面"current_user"重复到.
所以 ".admin?" 这前面的 "." 的符号是起到连接 "."后面定义的代码继续执行. 真是节省时间精力的好符号!!!
改成这样才能正常使用