我想通过从 3 迁移到 3.1 来帮助一个开源项目
但是我以前从未迁移过大型项目,所以我正在寻找一些建议?
这是项目 - https://github.com/locomotivecms/engine
谢谢,亚历克斯
我想通过从 3 迁移到 3.1 来帮助一个开源项目
但是我以前从未迁移过大型项目,所以我正在寻找一些建议?
这是项目 - https://github.com/locomotivecms/engine
谢谢,亚历克斯
这是一个“几乎可以工作”的 locomotivecms 代码,在 rails 3.1 上迁移:
https://github.com/lgs/engine/tree/rails-3.1
...它还没有准备好拉请求,
事实上,它错过了在所有相对路径中替换 /images/ whith /assets/ ...,无论如何它在 rails 3.1 服务器上启动并保持运行(尽管有很多“弃用警告”):
lsoave@ubuntu:~/rails/github/engine$ rails s
DEPRECATION WARNING: config.generators in Rails::Railtie is deprecated. Please use config.app_generators instead. (called from <top (required)> at /home/lsoave/rails/github/engine/config/application.rb:9)
DEPRECATION WARNING: class_inheritable_attribute is deprecated, please use class_attribute method instead. Notice their behavior are slightly different, so refer to class_attribute documentation first. (called from <top (required)> at /home/lsoave/rails/github/engine/config/application.rb:9)
DEPRECATION WARNING: class_inheritable_attribute is deprecated, please use class_attribute method instead. Notice their behavior are slightly different, so refer to class_attribute documentation first. (called from <top (required)> at /home/lsoave/rails/github/engine/config/application.rb:9)
=> Booting WEBrick
=> Rails 3.1.0.rc4 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-06-22 01:54:34] INFO WEBrick 1.3.1
[2011-06-22 01:54:34] INFO ruby 1.9.2 (2010-12-25) [i686-linux]
[2011-06-22 01:54:34] INFO WEBrick::HTTPServer#start: pid=2948 port=3000
Rails 控制台也可以正常工作:
lsoave@ubuntu:~/rails/github/engine$ rails c
DEPRECATION WARNING: config.generators in Rails::Railtie is deprecated. Please use config.app_generators instead. (called from <top (required)> at /home/lsoave/rails/github/engine/config/application.rb:9)
DEPRECATION WARNING: class_inheritable_attribute is deprecated, please use class_attribute method instead. Notice their behavior are slightly different, so refer to class_attribute documentation first. (called from <top (required)> at /home/lsoave/rails/github/engine/config/application.rb:9)
DEPRECATION WARNING: class_inheritable_attribute is deprecated, please use class_attribute method instead. Notice their behavior are slightly different, so refer to class_attribute documentation first. (called from <top (required)> at /home/lsoave/rails/github/engine/config/application.rb:9)
Loading development environment (Rails 3.1.0.rc4)
ruby-1.9.2-p136 :001 >
这是我在尝试期间遵循的指南:
http://davidjrice.co.uk/2011/05/25/how-to-upgrade-a-rails-application-to-version-3-1-0.html
更新:“无法就地修改 SafeBuffer”错误已解决
更新 6 月 23 日 11:解决了“ArgumentError(参数数量错误(4 对 3))”将选项参数(第四个)添加到 set_session 到 lib/locomotive/session_store.rb b/lib/locomotive/session_store.rb 感谢 Nicholas Hubbard之前的回答。
从 GitHub 转发:
看起来 3.1 中的新会话需要 4 个参数: https ://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/middleware/session/cookie_store.rb第 61 行
def set_session(env, sid, session_data, 选项)
机车中的存储只需要三个: https://github.com/lgs/engine/blob/rails-3.1/lib/locomotive/session_store.rb第31行 def set_session(env, sid, session_data)
看起来我们也没有预料到的选项正在通过。