【问题标题】:Learning Rails 3 after having learnt Rails 4在学习 Rails 4 之后学习 Rails 3
【发布时间】:2014-06-25 16:52:20
【问题描述】:

我是 Rails 新手,只用它建过两个网站。到目前为止,我只使用过 Rails 4.0。我现在想开始使用LocomotiveCMS,但它还不支持 Rails 4。由于我正在开始一个新项目,我不必担心将现有代码降级以与 Rails 3 兼容,但显然如果我开始使用 Rails 3,就好像它是 Rails 4 一样,我会遇到一些问题。

  1. 在切换到 Rails 3 时我需要注意哪些更改,以使我编写的代码不会因为特定于 Rails 4 而发生故障?我已经阅读了4.0 Release Notes,但不知道这些更改是基于什么的,我无法确定反向操作时会发生什么。例如,Rails 3 批量分配保护已被弃用。这清楚地表明我一直在使用 Rails 4 特定的实现来进行批量分配保护,所以我应该停止使用它,但它没有t 表明 Rails 3 中的原始系统是什么,所以我不知道需要更改什么。
  2. 这些更改中有多少会影响我能够交付给客户的内容,而不仅仅是提供更好的性能或更简洁的代码?例如,没有 Turbolinks 会使客户感觉页面加载速度较慢,但​​他们和我都不太可能注意到俄罗斯娃娃缓存的缺失。
  3. 是否有任何事情会导致出于某种原因切换回 Rails 3 是不明智的?例如,安全问题,或者在 Rails 3 中根本无法完成的事情可以在 Rails 4 中完成?

了解这些问题的答案将有助于就如何进行转换以及是否值得进行转换做出明智的决定。由于LocomotiveCMS 使用Mongoid,我将学习使用它而不是ActiveRecord,但我不知道这是否有帮助或阻碍。

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 locomotivecms


【解决方案1】:

Rails 4 通常比 3.2 更好、更干净,但 3.2 比 3.0 更好、更干净。倒退应该没问题,只是要做好遇到困难的准备。

  • 阅读升级指南。特别注意被移除或替换的东西。
  • 如果您迫切需要 4 中的某个功能,则可能有一个 gem 可以将其反向移植到 3.2(例如turbolinks works with Rails 3.2
  • 关注Rails maintenance policy。 3.2 仍在进行安全修复,但旧版本没有。

【讨论】:

  • 谢谢! +1 用于提出向后移植的 gem 和 Rails 维护政策 - 我从来没有想过其中任何一个,它们都非常有帮助。
猜你喜欢
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
  • 2021-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多