weixin_42238598
2008-08-11 21:12
浏览 147
已采纳

rails项目里应该在哪里修改Object类

我的项目里由于历史原因(除了这还能有什么原因),采用的是gb2312编码,因此在Object中添加了gbk和utf8两个方法以进行编码转换。现在我写了一个object.rb文件,定义了这两个方法。我现在的困难是,到底应该在项目的那个文件中加载这个object定义才合适?我现在的做法是,在config/environment.rb中使用require加载object.rb,就可以达到效果了。但是在环境文件中这样实现是否合适?有没有更合适的方法?谢谢!
[b]问题补充:[/b]
感谢各位提供帮助,我决定将object放到lib下。但是lib下的文件会自动加载吗?如果不加载,我怎么做才能让rails加载并仅加载一次?
[b]问题补充:[/b]
忘了说明,我使用的是rails 1.2.3, 并且本着能用就不改的原则,项目现阶段不允许迁移到2.x版本,所以大概没办法使用config/initializers。

直接修改object也很有用处,这样代码就很灵活,可以在任何地方使用,比如说view上。当然完美的方案是只在model上处理编码问题,但是考虑到遗留代码,这是个不错的方案。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • Open2ye 2008-08-13 10:35
    已采纳

    lib 里加个文件

    environment 里 require

    应该是目前来说比较好的解决方案

    打赏 评论
  • liuqaing_0701 2008-08-11 21:26

    个人觉得放到model里面,连require都不用。

    打赏 评论
  • Open2ye 2008-08-11 23:43

    Rails 2.x 上有一个改进

    会自动加载 config/initializers 这个目录.

    打赏 评论
  • qichunren 2008-08-12 08:50

    放在model或者lib中都可以.

    打赏 评论
  • iteye_11360 2008-08-12 16:54

    config/initializers下面的rb是会自动加载的

    但是为了一个encoding去改object不合适吧。建议你做成module在需要的model中加载即可。

    打赏 评论

相关推荐 更多相似问题