`
dcaoyuan
  • 浏览: 307473 次
社区版块
存档分类
最新评论

从Rails 1.1.6升级到1.2.2遇到的几个问题及解决方案

阅读更多
如下:

1.关于enrivonment.rb
要把自己在enrivonment.rb中的配置放到:
Rails::Initializer.run do |config|

之后
我遇到这个问题时,把以下代码放到该句之前:
require 'environments/localization_environment'
require 'localization'
Localization::load_localized_strings
require 'environments/user_environment'

在1.1.6下运行没问题,但在1.2.x不行。

2.关于ActionMailer::Base.server_settings
如果你遇到如下错误:
uninitialized constant ActiveSupport::Deprecation::RAILS_DEFAULT_LOGGER (NameError)
那么把你在environments目录下的development.rb, production.rb, test.rb中的ActionMailer::Base.server_settings全部改成ActionMailer::Base.smtp_settings
如果这句话在environment.rb中,可能没这个问题。

3.把所有的"include"语句放到class/modlue定义块中
如果放在class/modlue定义块之前,在1.1.6下可以,但1.2.x不行,你会遇到错误:
Error calling Dispatcher.dispatch #<NameError: cannot remove Object::COPYRIGHT>
分享到:
评论
5 楼 kaven 2007-03-09  
我的升级也遇到很多怪异问题,原来把string储二进制文件,升级过后就不能正常使用,会出现截断。网上也找不到相关资料。
后来发现这个问题只存在于win32平台,linux上完全正常,现在找不到好方法解决win32上兼容性问题,看了老外没有几个人在win32上耍rails。在linux上开发又不方便,也买不起mac ,只好老老实实退回到1.1.6。反正发布的时候改成1。2。2,没发现有兼容性问题。
如果你只是在win32上试过,可以linux上试试看。说不定就没有问题了。
4 楼 njmzhang 2007-03-08  
dcaoyuan 写道


这正好就是我说的ruby的随便之处,你把它放在不同的地方,有时候行(比如:1.1.6),有时候又不行。


这个不是Ruby的随便之处吧,肯定是Rails的更新引些的
3 楼 dcaoyuan 2007-03-08  
没有什么特殊的用意,是这个项目一年多前的代码,那时是在用Rails搭原型。

这正好就是我说的ruby的随便之处,你把它放在不同的地方,有时候行(比如:1.1.6),有时候又不行。

用server_settings时,如果放在总的environment.rb下可以,但如果是在environments/development.rb, test.rb, prodution.rb里(需要分别设的情况)就*可能*不行,这个可能不行还跟你可能用了一些plugin有关。

不同的Rails项目可能使用了不同的插件,而比较复杂的应用,有时需要超出Rails的约定,这时,这个界限在哪里就很难控制,我希望开发语言或者框架具有一定的一致性,不能在版本A下就可以,在版本B下就不行,而这种不行甚至连写框架的人也未必意识到。
2 楼 robbin 2007-03-08  
1、这个问题可能是你的不规范用法引起的。enrivonment.rb里面的注释已经强调了让用户把自己的代码放在最后面了,如果你非要放在前面,也怪不着rails的magic吧。

2、这个是rails1.2.2才改的配置。我这里用server_settings很正常,照常发邮件,只不过log里面会有一条警告信息而已,不会出现你贴出来的那种错误,貌似你在server_setting里面有些什么特殊的配置引起的。

3、为什么要把include放在class/module之前,不放在class/module里面?有什么特殊的用意?
1 楼 dcaoyuan 2007-03-08  
补充一下:
这些错误最头疼的地方是错误的提示不得要领、不着边际,甚至在出错的调用栈中根本不会出现实际出错的文件名,让查错大费周折。我只好用最笨的排除法,一点一点往回加文件,直到出错然后跟踪原因。

我以前说过,Rails中用了许多不那么直接了当的Magic,这是导致难以找出错误的主因。

相关推荐

    提升Ruby on Rails性能的几个解决方案

    简介 Ruby On Rails 框架自它提出之日...Rails 是一个真正彻底的 MVC(Model-View-Controller) 框架,Rails 清楚地将你的模型的代码与你的控制器的应用逻辑从 View 代码中分离出来。Rails 开发人员很少或者可能从未遇到

    rails和mysql数据库连接中出现的问题以及解决办法

    本篇文章将深入探讨这些常见问题及其解决方案。 首先,Rails与MySQL的连接问题可能源于配置不正确。在`config/database.yml`文件中,你需要提供正确的数据库连接信息,包括主机名、用户名、密码和数据库名。如果...

    rails飞信 gem plugin api 插件的问题解决方案

    标题中的“rails飞信 gem plugin api 插件的问题解决方案”涉及到的是在Ruby on Rails框架下,使用特定的gem(一种Ruby的库或插件)来集成飞信API时遇到的问题及解决方法。飞信是中国移动推出的一种即时通讯服务,...

    rails 3 upgrade handbook(simple樣例)

    - **案例一**:一个小型电子商务网站从Rails 2升级到Rails 3的过程,包括遇到的主要挑战及解决方案。 - **案例二**:一款复杂的企业级应用升级经验分享,涉及技术栈迁移、性能瓶颈处理等方面。 - **案例三**:关于...

    wize_upgrader:从 rails 3.2 升级到 rails 4 的快速而肮脏的宝石

    这个 gem 用于将基本的 Rails 3.2 应用程序升级到 Rails 4。 我们必须将一堆应用程序从 Rails 3.2 升级到 Rails 4。我们构建了这个 gem 来提供帮助。 注意:我们的大多数应用程序都很简单,但这应该可以处理 95% 的...

    Rails recipes

    Rails Recipes是一本针对Ruby on Rails框架的实用书籍,它收集了一系列高效解决问题的技巧和方法,也被称为“Rails开发者的宝典”。作者们通过分享自己的经验和见解,为Rails程序员提供了一本既有实际操作指导又有...

    rails2.3.2gem本地安装包及使用说明

    - 如果你遇到任何问题,查阅 Rails 2.3.2 的官方文档或社区资源,例如 Stack Overflow 上的相关问题,可能会有所帮助。 6. **安全与升级** - 考虑到 Rails 2.3.2 已经非常过时,可能存在大量的安全漏洞。在生产...

    Rails101_by_rails4.0

    此外,书中还介绍了一些Rails中的高级概念,如Strong Parameters(强参数),它在Rails 4.0版本中引入,用于解决之前版本中的参数篡改问题,从而帮助开发者安全地处理外部提交的数据。 通过一系列的教学内容,包括...

    Pragmatic - Agile Web Development with Rails 2nd

    为了帮助读者过渡,在Rails 1.2正式发布前,作者提供了以下临时解决方案: 1. **创建应用**:首先按照常规方式创建应用,这将自动生成一个包含`vendor`目录的应用结构。 2. **下载并解压Rails代码**:将从官方提供的...

    Rails

    描述中提到的博文链接指向了一个ITEYE博客文章,尽管具体内容未提供,但通常这样的博客可能会包含Rails的使用技巧、最佳实践、新版本更新或者特定问题的解决方案。 标签 "源码" 暗示了可能涉及Rails的源代码分析或...

    windows下安装或升级rails

    ### Windows 下安装或升级 Rails 的常见问题与解决方法 在 Windows 平台上进行 Ruby on Rails 开发时,可能会遇到各种各样的安装问题。本文将详细解释一个常见的问题:“在 Windows 下安装或升级 Rails 时,gem ...

    Ruby on Rails实例开发

    它可能涵盖了技术选择的原因、遇到的问题及解决方案、性能优化、用户体验设计等方面,是整个开发工作的总结和理论支持。 总的来说,Ruby on Rails实例开发涉及到一系列技术,包括Ruby编程、Rails框架的使用、SQLite...

    配置rails环境

    在安装完Ruby之后,配置Rails环境通常包括以下几个关键步骤: 1. **安装Rails**:在已经安装好Ruby的系统上,可以通过Ruby Gem来安装Rails。在命令行输入`gem install rails`,等待安装完成。 2. **创建Rails项目*...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    在“Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)”中,包含了Rails从3.0到4.0各个主要版本的源代码,这些版本的变迁反映了Rails框架在不同阶段的发展和改进。 1. Rails 3.0: Rails 3是重大升级,引入了...

    ruby on rails与MySql的环境配置——支持rails 2.3.5以上版本

    《Ruby on Rails与MySQL环境配置详解》 ...记得在配置过程中遇到困难不要灰心,多尝试、多搜索,一定能够找到解决方案。通过这样的实践,你将对Rails和MySQL的结合有更深入的理解,为今后的Web开发打下坚实的基础。

    Rails 101 入门电子书

    本书主要针对的是希望学习Ruby on Rails框架的读者,特别是那些想要从零开始掌握这项技术的新手。 #### 二、作者介绍与背景 - **作者**: xdite,一位经验丰富的开发者,专注于Ruby on Rails框架。 - **作品**: ...

    Rails的中文乱码问题

    标题中的“Rails的中文乱码问题”涉及到的是在使用Ruby on Rails框架开发Web应用时,遇到的中文字符编码不正确的问题。Rails是一个基于Ruby语言的开源Web开发框架,它遵循MVC(Model-View-Controller)架构模式。在...

    升级版本后Rails的文件上传

    1. **ActiveStorage**:自Rails 5.2版本起,ActiveStorage被引入作为官方推荐的文件上传解决方案。它集成了对本地存储和云存储(如Amazon S3、Google Cloud Storage和Azure Blob Storage)的支持。如果你的应用从一...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **升级**:当需要更新到Rails的最新版本时,可以使用`bundle update rails`命令来更新依赖。 - **回滚**:如果更新后出现问题,可以通过`git`命令或者手动修改`Gemfile`来回滚到之前的版本。 #### 六、添加第二个...

Global site tag (gtag.js) - Google Analytics