- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
升级到Rails4
升级到Rails4
Rails4 的教程在⽹络上还是⽐较少见的,但是Rails4 的强⼤性却是⽏庸置疑,究竟
Rails4有什么新特性呢 让我们⼀起来看⼀看瞧⼀瞧吧 !
总体
1. ⽀持Ruby 2.0
不⽀持Ruby 1.8系了,最低也得1.9.3 。
2. 动态查找器没有了
这个东西太灵活了,代码可能少敲两个字母,外⼈看来容易引起迷惑。
原来是 find_by_name ‘aaa’
现在是 find_by name:’aaa’
3. routing⾥禁⽌了match
即如果⽤match 的话就必须给:via选项。
否则的话默认开启了GET和 OST等,容易导致CSRF攻击。
请直接⽤协议,⽐如
post ‘controller/action’ = ‘controller#action’
4. 增加concerns ⽬录
为了解决业务逻辑⽆处可写的窘境,在controller和model各添加了标准的concerns ⽬
录,这⾥的⽂件都是autoload的。
5. ⽤bin ⽬录代替script ⽬录
不多说,rails ,rake ,bundle都放这⾥。
6. 可以在浏览器上浏览route 置。
之前需要通过rake routes命令,现在可以在浏览器通过路径/rails/info/routes来确认了。
Modle相关
7. 增加where.not
如何在sql⾥查找不属于某个⼈的东西
where name ‘user abc’
在rails4⾥可以User .where .not(name: name)
. pluck可以接受多个列
最初为啥不设计成这样呢
现在可以Book .where(???) .pluck(:title ,:price)
9. update_columns
不调⽤验证⽅法和callback ,速度很快。
同时废弃了update_column⽅法
10. update_attributes变为update⽅法了
名字长度减了⼀半。
11. 加强对PostgreSQL 的⽀持
mysql真是江河⽇下啊。
增加了hstore (⽆schema ),UUID ,range ,inet ,cidr等。
ActionPack 的变更点
12. PUT变PATCH
谁没事⽼翻旧帐 反正是因为 UT不准确,以后都⽤ ATCH 了。
我觉得 OST应该⼀块改CREATE得了。
13. before_filter 改为before_action
我觉得还是原来的名字好。。。
14. routing改善
后段从Rack ::Mount换为Journey 了
模板
15. 嵌套缓存的⾃动废弃
被嵌套的缓存变化时,会⾃动废弃包含之的缓存。
model也是,可以⼦model通知⽗model 。
16. 增加了.ruby模板
可以处理⽂字,数据,图像等。
性能⽅⾯的改善
17. AssetPipeline
这个东西虽然3就有了,但是不是说那么好⽤的。
主要问题就是预编译速度慢,以及核⼼的Sprockets的版本太⽼。
rails4解决了这两个问题。
1 . TurboLinks
这个东西⽐aset pipeline还前卫,简单来说它的做法就是画⾯显⽰之后,你点击连接后
它会通过aj ax来取得新页⾯,然后再判断新页⾯⾥的asset (css ,j s )之类的有没有变
化,如果有变化,则全页reload ,否则的话,只替换body和title⾥的东西。这就省去了
解析装载css ,j s的时间。
其做法导致的问题是页⾯本⾝不会被重新装载,也就是说 window.onload ,j query
的.ready⽅法就⽤不了了
不过貌似有个gem 叫jquery-turbolinks可以解决这个问题。
realtime web
19. ActionController::Live
mixin这个类,然后再调⽤response .stream .write就可以通信了。
但是WEBrick不⽀持realtime通信,开发的时候可以⽤puma 。
另外值得⼀提的是,针对实时通信, assenger和Unicorn等这些多进程的web server就
显得⼒不从⼼了;最好选⽤多线程,事件驱动的web server ,⽐如puma 。
20. spring
此spring⾮彼spri
您可能关注的文档
- 力学量和单位的规范使用规律.pdf
- 第三章 杆件得内力.ppt
- 第三章 水轮机调节系统数学模型得建立.doc
- 加信JX300串口通讯调试参考.pdf
- 第三章 金属得塑性变形与再结晶.doc
- 第三章 杆件得内力2010.ppt
- 第三章 食品得热加工原理.ppt
- 剑灵职业PVE加点攻略基础教程召唤篇.pdf
- 第三章 直流电动机得启动、制动.ppt
- 第七讲光得相干性(新).ppt
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
文档评论(0)