Ruby on Rails:当我开始使用 Rails 4(发布 beta 版)时,Rails 3 中存在哪些将更改或需要完全删除的概念?
也了解了 ActiveRecord 观察者的用法,它已经被提取到一个 gem 中。新 gem 将位于 github.com,rails-observers。
Ruby on Rails:当我开始使用 Rails 4(发布 beta 版)时,Rails 3 中存在哪些将更改或需要完全删除的概念?
也了解了 ActiveRecord 观察者的用法,它已经被提取到一个 gem 中。新 gem 将位于 github.com,rails-observers。
根据发行说明(http://edgeguides.rubyonrails.org/4_0_release_notes.html):
Ruby 2.0 优先;需要 1.9.3+
这是不言自明的。
强参数
允许您从控制器指定批量分配的允许属性。
在此处阅读更多信息:http: //blog.remarkablelabs.com/2012/12/strong-parameters-rails-4-countdown-to-2013
涡轮链接
“不是让浏览器在每个页面更改之间重新编译 JavaScript 和 CSS,而是保持当前页面实例处于活动状态,并且只替换头部的正文和标题。”
查看 github 页面:https ://github.com/rails/turbolinks
俄罗斯娃娃缓存
这是一种缓存技术,您可以在此处阅读更多信息:http: //blog.remarkablelabs.com/2012/12/russian-doll-caching-cache-digests-rails-4-countdown-to-2013
提取到宝石中的特征:
如果使用 Rails 默认测试框架,目录有如下变化:
供应商插件
已弃用。您在供应商/插件中可能拥有的任何插件都必须作为 gem 安装。
活动记录
以下方法已弃用,需要重写如下:
find_all_by_...
可以使用重写where(...)
。find_last_by_...
可以使用重写where(...).last
。scoped_by_...
可以使用重写where(...)
。find_or_initialize_by_...
可以使用重写where(...).first_or_initialize
。find_or_create_by_...
可以使用find_or_create_by(...)
或重写where(...).first_or_create
。find_or_create_by_...!
可以使用find_or_create_by!(...)
或重写where(...).first_or_create!
。Ryan 在这里对 Rails 4 中的新功能有一个很好的概要:http ://railscasts.com/episodes/400-what-s-new-in-rails-4
我最喜欢看到差异(并知道如何升级)的资源是 Andi Lindemann Upgrading to Rails 4的书和网站。他讨论了一些变化,并解释了如何进行迁移。
他的书的一部分是以下摘要(复制为纯文本,书中当然包括细节):
早期版本的 Rails 中的某些功能已被弃用:虽然您的应用程序可能会继续正常运行,但您会看到警告。在您解决了第一个清单中的问题后,请考虑解决已弃用的功能: