阅读更多

17顶
0踩

编程语言
在Rails2.0当中有大量的用法已经被废弃掉了,在你的应用程序升级到Rails2.0的过程当中必须注意。下面我先列举一下有哪些用法被废弃,然后有什么替代方案,大家请帮我补充:

一、controller的paginate分页方法被拿掉了


2.0以前controller带有paginate这个public的分页方法,现在已经不能使用了。现在推荐的是另外一个替代插件will_paginate,安装这个插件可以用如下的命令:

./script/plugin install svn://errtheblog.com/svn/plugins/will_paginate


关于will_paginate的用法可以参考这个插件里面自带的文档,用法非常简单,或者也可以看作者的博客:

http://errtheblog.com/posts/56-im-paginating-again

目前JavaEye2.0的代码也是使用controller的paginate,但是在我们JavaEye3.0代码里面,已经改成了will_paginate。

二、ActionWebServices这个gem包被拿掉了

Rails社区提倡REST,而不是SOAP,如果以前用了SOAP,那么也可以单独安装ActionWebServices,如果是新项目,还是用REST和ActiveResource吧。

三、controller里面的一些实例方法@params, @session, @request等被拿掉

@params, @session, @request, @response, @headers, @flash这些实例方法被拿掉,而是在controller里面定义了同名的方法,所以请使用params, session, request, response, headers, flash

四、acts_as_list, acts_as_tree被拿掉

acts_as_list, acts_as_tree被拿掉,放在Rails官方的SVN网站上面,现在如果你要用得话,请用插件安装,直接用命令 ./script/plugin install acts_as_list 就可以了。

五、in_place_editor和auto_complete这两个AJAX的helper被拿掉

in_place_editor和auto_complete这两个AJAX的helper被拿掉了,放在Rails官方的SVN网站上面,如果你要用,也请安装插件,和上面一样。

六、start_form_tag 标签被拿掉

表单标签现在改成了block格式的,例如

<% form_tag ... do |form| -%>
 ........ 
<% end -%>


七、一些写法的改变:


1、:post => 'true'的写法改成了 :method => 'post'
2、find_all 改成 find :all, find_first 改成 find :first

这里有一个rake task,可以提示你需要修改哪些地方,并且帮助你自动修改:

http://www.slashdotdash.net/articles/2007/12/03/rails-2-upgrade-notes

17
0
评论 共 7 条 请登录后发表评论
7 楼 iceskysl 2008-01-30 10:12
有没有发现 attachment_fu 里面的Callbacks也不工作了呢?
6 楼 leonsmith 2007-12-13 16:37
按时打发按时打发
引用
阿斯顿
阿斯顿f
5 楼 macoo 2007-12-13 14:59
genarate命令的scaffold_source也没有了,直接scaffold就行了
4 楼 simohayha 2007-12-13 09:59
scaffold 我下载了之后,然后再下载了will_paginate,可是还是报错,说找不到paginate方法...
3 楼 老熊 2007-12-12 22:18
observer 没了,但还没发现有官方的声明提及这个事情,也不知道如何升级。

DEPRECATION WARNING: observer is deprecated and will be removed from Rails 2.0  See http://www.rubyonrails.org/deprecation for details.

2 楼 haiyang 2007-12-12 16:31
维护以前的项目好像也比较麻烦了
1 楼 花花公子 2007-12-12 15:44
ActionController中的scaffold :model也没有了

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

Global site tag (gtag.js) - Google Analytics