网站大量收购独家精品文档,联系QQ:2885784924

升级到Rails4.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档