activescaffold+rails2.3.4+本地化 记录

这两天把原有一个项目从rails 2.2.2升级到了rails
2.3.4,在activescaffold插件上耗费了许多时间,但总算都解决了。
1.升级activescaffold
  首先要说明的是AS的官网很是诡异。里面的文档几乎不更新,反而github
wiki上才是最新的。所以大家不要找错地方了。
   按照文档,升级AS到2.3版本需要以下两步:
   1). ruby script/plugin install
git://github.com/activescaffold/active_scaffold.git
   2). ruby script/plugin
install git://github.com/ewildgoose/render_component.git -r
rails-2.3

  但是注意:
第二步安装的render_component插件在rails 2.3.4上并不能使用。启动时会出现
无效的方法”set_session_options”的错误
。我最后是在github上找了另一个render_component插件才好的。在这里浪费了我至少2个小时。

   2). ruby script/plugin install
git://github.com/weplay/render_component.git

2.中文化

 
原来我使用的是localization插件。并在Object类中加入了as_()方法来实现中文化。可是此插件在rails
2.3.4中也会报错。于是我就直接采用rails自带的I18n国际化方法。当然还是需要加入as_()方法.代码如下

 

Ruby代码  收藏代码记录” />
  1. class Object  
  2.   def as_(string, *args)  
  3.     if string  
  4.       I18n.t(string,*args)  
  5.       if (r =~ /^translation missing/)  
  6.         return string  
  7.       end  
  8.       return  
  9.     else  
  10.       return string  
  11.     end  
  12.   rescue  
  13.     return string  
  14.   end  
  15. end  

 

   附上翻译文件:

 

http://www.iteye.com/topic/484236