学习Ruby on Rails的第五天

天涯浪子 提交于 2020-01-08 20:45:13

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

今天开始搞重置密码这一功能,大部分功能都和前面的类似,但是这个重置密码的集成测试。。。  看是能看懂,但是要从0写的话。。。

与会话和账户激活一样,密码重设虽然没有对应的 Active Record 对象,但也可以看做一个资源,
 
还有那个超时的比较,为什么  reset_sent_at < 2 . hours . ago  表示的是大于两小时
 
△x表示发送密码重设邮件后经过的时间,
△y表示限制的失效时长。
如果邮件发出经过的时长大于限制的失效时长,即: △x>△y  -----①
那么如果用z表示现在的时间,x表示发送邮件的时间,y表示邮件的失效时间,那么显而易见
△x=z-x  -----②
△y=z-y -----③
将②③带入①中得:
z-x>z-y  -----④
两边同时 -z 得
-x>-y  -----⑤
即:
x<y
前面说了,y表示邮件失效的时间,即题目中说的两小时之前, 2 . hours . ago.   而x表示发送邮件的时间, reset_sent_at
即:  reset_sent_at < 2 . hours . ago  表示的是大于两小时
所以,我把自己也说“明白了”  道理我都懂,但是为什么是大于两小时(滑稽狗头)??
 

来到了第13章,用户的微博,在前面,我们吧注册,登录,重置密码什么的前期准备都做好了,现在开始正式搞微博!~

$ rails generate model Micropost content:text user:references
生成的微博模型,用户
 
lambda表达式。。。。 在ruby里是匿名函数。。。 
 
测试有问题,应该写成
post microposts_path, params: { micropost: { content: content, picture: picture } }

 

调整微博图片大小需要这个插件,我又是杀千刀的windows...  麻烦。

我就说不能用, 真是到处都是坑 不能下载最新的。。。

下载别的后,运行convert -version 还是显示无效驱动器规格,,, 

在这找到解决方案了,地址是https://sourceforge.net/projects/imagemagick/,不在官网下,官网全是v7版本,这里是v6 的

终于不是该死的无效驱动器规格了。。。

完美解决!!!

这小节就跳过了。

 

关注关联这块感觉很重要

 

 

感觉好高大上的样子哦。其实也就是从微博表中取出自己关注的用户发布的微博,展示出来

最后还用到了sql的in功能,但是in这个功能最好是给定的 比如 in(1,2,3),而不能是查询出来的条件,这样会拖慢数据库查询。  最好是用exist函数。

经过5天的学习,终于算是ruby on rails入门了吧,书里一再强调的开发前测试,搞得我确实晕乎乎的。ruby语言也确实“神奇”,可以向原有的类中加入自己定义的方法等 。。  5天就完成了一个项目的开发,不得不说,rails框架确实牛逼, 依靠脚手架大大的加快了开发的速度,这是传统语言比不上的。。还有就是“舒服”,写代码的时候不用管乱七八糟的分号什么的,  语法好多都是约定俗成的。

 

 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!