客户端指出我在Ubuntu服务器(2.3.4)上安装的Rails版本与旧版本2.3.2不兼容。简单问题:Rails 2.3.4是否向下兼容Rails 2.3.2?
我想知道这是否属实,然后再尝试安装较旧的Rails。
客户端指出我在Ubuntu服务器(2.3.4)上安装的Rails版本与旧版本2.3.2不兼容。简单问题:Rails 2.3.4是否向下兼容Rails 2.3.2?
我想知道这是否属实,然后再尝试安装较旧的Rails。
rubygems的美丽。只需安装两个版本,并让他们指定在其环境中的哪个版本解决了文件问题谁在乎它的兼容性与否
新功能永远不会向后兼容。
是的,但是在两个不同版本之间可能存在一些向后不兼容的变化。这不是新功能。这是(通常未使用)功能删除。一个具体的例子是:http://stackoverflow.com/questions/1612633/how-to-support-backwards-compatibility-with-the-changes-to-the-accept-header-hand – 2009-10-26 16:15:35
这很明显不是导致问题的问题。 – SFEley 2009-10-27 16:10:40
嗯,这可能是你正在使用的是可在2.3.4版本只有功能,因此他们在2.3.2版本不。
查看其更新日志以查看差异。
在较小的Rails版本之间升级通常会导致旧应用程序出现问题。
也就是说,2.3.4是目前推荐的稳定版本,所以它可能会值得咬牙切齿,让2.3.2应用程序运行。如果你有一个体面的测试套件,可能不会花很长时间。
还有一些引入的错误。就像这个我发现涉及named scopes using includes.这是在2.3.3中引入的,并没有在2.3.4中修复
2.3.2 => 2.3.4一直是我们迄今为止最无痛的升级(大型应用程序有很多传统的rails 1.x代码)。
唯一的major issues we had were with after_initialize
vs exists?
。
这一切都因应用程序而异。如果你正在托管一个客户端的应用程序,那么你应该提供所有rails版本的宝石(他们会高兴地并肩(90%的时间))。
您可能想看看以下相关问题:http://stackoverflow.com/questions/1612633/如何支持向后兼容与更改接受表头 – 2009-10-26 15:57:34
Whya他们说这是不是向后兼容? – 2009-10-26 20:52:19