- 浏览: 2048607 次
- 性别:
- 来自: NYC
文章分类
- 全部博客 (628)
- Linux (53)
- RubyOnRails (294)
- HTML (8)
- 手册指南 (5)
- Mysql (14)
- PHP (3)
- Rails 汇总 (13)
- 读书 (22)
- plugin 插件介绍与应用 (12)
- Flex (2)
- Ruby技巧 (7)
- Gem包介绍 (1)
- javascript Jquery ext prototype (21)
- IT生活 (6)
- 小工具 (4)
- PHP 部署 drupal (1)
- javascript Jquery sort plugin 插件 (2)
- iphone siri ios (1)
- Ruby On Rails (106)
- 编程概念 (1)
- Unit Test (4)
- Ruby 1.9 (24)
- rake (1)
- Postgresql (6)
- ruby (5)
- respond_to? (1)
- method_missing (1)
- git (8)
- Rspec (1)
- ios (1)
- jquery (1)
- Sinatra (1)
最新评论
-
dadadada2x:
user模型里加上 protected def email ...
流行的权限管理 gem devise的定制 -
Sev7en_jun:
shrekting 写道var pattern = /^(0| ...
强悍的ip格式 正则表达式验证 -
jiasanshou:
好文章!!!
RPM包rpmbuild SPEC文件深度说明 -
寻得乐中乐:
link_to其实就是个a标签,使用css控制,添加一个参数: ...
Rails在link_to中加参数 -
aiafei0001:
完全看不懂,不知所然.能表达清楚一点?
"$ is not defined" 的问题怎么办
最主要的提示是说:
uninitialized constant ApplicationController c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:443:in `load_missing_constant' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:80:in `const_missing' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:92:in `const_missing' F:/ROR_SPACE/edepot/app/controllers/store_controller.rb:9
而去store_controller.rb去看
class StoreController < ApplicationController
也就是说找不到application.rb的定义,而当前的文件又确实有application.rb的定义。问题在那里呢?
原来是rails升级以后,application.rb默认文件名改了。这或者是“约定高于配置”的另一面,有人改了约定,我们还不太清楚。那么好吧,我把application.rb的文件名改成application_controller.rb。
接着想要运行,或者,还有一些东西要改cnfig/boot.rb里,那个典型的require_gem问题。
else gem "rails" #require_gem "rails" require 'initializer'
然后,运行时有点升级
F:\ROR_SPACE\depot_l>rake db:migrate (in F:/ROR_SPACE/depot_l) rake aborted! undefined method `require_gem' for main:Object F:/ROR_SPACE/depot_l/rakefile:4 (See full trace by running task with --trace) F:\ROR_SPACE\depot_l>rake db:migrate (in F:/ROR_SPACE/depot_l) Your config/boot.rb is outdated: Run "rake rails:update". F:\ROR_SPACE\depot_l>rake rails:update (in F:/ROR_SPACE/depot_l) install -c -m 0755 c:/ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/tasks/../../bin/dbconsole script/dbconsole F:/ROR_SPACE/depot_l/app/controllers/application.rb has been renamed to F:/ROR_SPACE/depot_l/app/controllers/application_controller.rb, update your SCM as necessary
这段说明也表明,文件名改了。
uninitialized constant FileColumn::ClassMethods::Inflector
如果你还有classic_paginate
那么,请记着也要改这个
options[:singular_name] ||= ActiveSupport::Inflector.singularize(collection_id.to_s) options[:class_name] ||= ActiveSupport::Inflector.camelize(options[:singular_name]) # options[:singular_name] ||= Inflector.singularize(collection_id.to_s) # options[:class_name] ||= Inflector.camelize(options[:singular_name])
评论
11 楼
utensil
2009-04-15
robbin 写道
每次升级Rails都有点心惊肉跳的,不单纯是这些不兼容的文件修改,而是很多不实际上线运行发现不了的新问题。
Robbin何不依据自己对Rails的修改,在Github上做一个兼容性和稳定性更好的fork?这样不仅方便大家,而且可以方便地pull回Rails。
10 楼
richyzhang
2009-03-25
rainux 写道
yangzhihuan 写道
rainux 写道
yangzhihuan 写道
我的解决方法是:
新建一个Rails 2.3.2的工程,把boot.rb文件拷贝过去旧工程中.
然后执行一下 rake rails:update
基本上就搞定了.
新建一个Rails 2.3.2的工程,把boot.rb文件拷贝过去旧工程中.
然后执行一下 rake rails:update
基本上就搞定了.
没有必要创建一个新工程吧,直接在 config/environment.rb 里把 Rails 版本号改成 2.3.2 之后执行 rake rails:update 即可更新所有的文件,包括 application.rb 自动改名。
我一开始就是这样干的,但是执行rake的时候会提示 boot.rb 有错的.
我从 Rails 2.2.2 升级上来的,没有问题。可能是因为你原来的 Rails 版本比较老。
用自动升级应该跟mysql类似,就是一个版本一个版本的upgrade,这样的话麻烦会少很多.
9 楼
rainux
2009-03-25
yangzhihuan 写道
rainux 写道
yangzhihuan 写道
我的解决方法是:
新建一个Rails 2.3.2的工程,把boot.rb文件拷贝过去旧工程中.
然后执行一下 rake rails:update
基本上就搞定了.
新建一个Rails 2.3.2的工程,把boot.rb文件拷贝过去旧工程中.
然后执行一下 rake rails:update
基本上就搞定了.
没有必要创建一个新工程吧,直接在 config/environment.rb 里把 Rails 版本号改成 2.3.2 之后执行 rake rails:update 即可更新所有的文件,包括 application.rb 自动改名。
我一开始就是这样干的,但是执行rake的时候会提示 boot.rb 有错的.
我从 Rails 2.2.2 升级上来的,没有问题。可能是因为你原来的 Rails 版本比较老。
8 楼
yangzhihuan
2009-03-25
rainux 写道
yangzhihuan 写道
我的解决方法是:
新建一个Rails 2.3.2的工程,把boot.rb文件拷贝过去旧工程中.
然后执行一下 rake rails:update
基本上就搞定了.
新建一个Rails 2.3.2的工程,把boot.rb文件拷贝过去旧工程中.
然后执行一下 rake rails:update
基本上就搞定了.
没有必要创建一个新工程吧,直接在 config/environment.rb 里把 Rails 版本号改成 2.3.2 之后执行 rake rails:update 即可更新所有的文件,包括 application.rb 自动改名。
我一开始就是这样干的,但是执行rake的时候会提示 boot.rb 有错的.
7 楼
yehs220
2009-03-24
QuakeWang 写道
另外还有一些小改动,比如将原先自己写的对rails动态内容输出做gzip压缩,现在可以迁移到rack,用现成的:
config.middleware.use Rack::Deflater
怎么样跳过Deflator?比如动态生成的图片什么的。
6 楼
rainux
2009-03-24
yangzhihuan 写道
我的解决方法是:
新建一个Rails 2.3.2的工程,把boot.rb文件拷贝过去旧工程中.
然后执行一下 rake rails:update
基本上就搞定了.
新建一个Rails 2.3.2的工程,把boot.rb文件拷贝过去旧工程中.
然后执行一下 rake rails:update
基本上就搞定了.
没有必要创建一个新工程吧,直接在 config/environment.rb 里把 Rails 版本号改成 2.3.2 之后执行 rake rails:update 即可更新所有的文件,包括 application.rb 自动改名。
5 楼
lgn21st
2009-03-22
我手上的项目也刚刚从2.2.2升级到2.3.2,发现几个稍微复杂一点的关联模型上定义的named_scope执行时报SQL语法错误,花了点时间没有看出问题到底在那里,只能放到明天继续排查原因...
可能是原来在2.2.2上通过但是这么用不对
或者是2.3.2有bug,希望是前者...
可能是原来在2.2.2上通过但是这么用不对
或者是2.3.2有bug,希望是前者...
4 楼
yangzhihuan
2009-03-22
我的解决方法是:
新建一个Rails 2.3.2的工程,把boot.rb文件拷贝过去旧工程中.
然后执行一下 rake rails:update
基本上就搞定了.
新建一个Rails 2.3.2的工程,把boot.rb文件拷贝过去旧工程中.
然后执行一下 rake rails:update
基本上就搞定了.
3 楼
wosmvp
2009-03-21
JavaEye果然够激进
2 楼
QuakeWang
2009-03-21
在迁移JavaEye代码到2.3,已经遇到3个问题了:
1. Cache Sweeper不能正常的auto load,这个ticket号称已经解决,但是还有很多人报告有问题:
http://rails.lighthouseapp.com/projects/8994/tickets/1977-actioncontrollercachingsweeper-autoloading-is-broken
解决方案是检查一下你的environment文件中是否有调用ActionContoller或者ActionRecord的代码,导致先它在sweeper之前加载了,JavaEye在Rails 2.2.2的代码有类似如下设置:
改成通过config设置就正常了:
2. 新加的Strategy::LocalCache是memory cache的subclass,里面有freeze的代码:@data[name] = value.freeze,导致memcache store的对象全部被freeze
零时解决方案是hack localcache
3. Collection destroy不接受id作为参数了:
http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/2306-associationcollections-destroy-method-is-not-compatible-with-old-version
解决方案是先查询,再调用删除方法。
另外还有一些小改动,比如将原先自己写的对rails动态内容输出做gzip压缩,现在可以迁移到rack,用现成的:
不过2.3感觉在开发环境中比2.2要快很多,和改进的lazy load有关,在生产环境还须再测试对比看看。
1. Cache Sweeper不能正常的auto load,这个ticket号称已经解决,但是还有很多人报告有问题:
http://rails.lighthouseapp.com/projects/8994/tickets/1977-actioncontrollercachingsweeper-autoloading-is-broken
解决方案是检查一下你的environment文件中是否有调用ActionContoller或者ActionRecord的代码,导致先它在sweeper之前加载了,JavaEye在Rails 2.2.2的代码有类似如下设置:
ActionController::Base.session_options[:session_domain] = DEFAULT_ROOT_DOMAIN ActionController::Base.asset_host = "http://#{DEFAULT_SITE_DOMAIN}"
改成通过config设置就正常了:
config.action_controller.session[:domain] = DEFAULT_ROOT_DOMAIN config.action_controller.asset_host = "http://#{DEFAULT_SITE_DOMAIN}"
2. 新加的Strategy::LocalCache是memory cache的subclass,里面有freeze的代码:@data[name] = value.freeze,导致memcache store的对象全部被freeze
零时解决方案是hack localcache
3. Collection destroy不接受id作为参数了:
http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/2306-associationcollections-destroy-method-is-not-compatible-with-old-version
解决方案是先查询,再调用删除方法。
另外还有一些小改动,比如将原先自己写的对rails动态内容输出做gzip压缩,现在可以迁移到rack,用现成的:
config.middleware.use Rack::Deflater
不过2.3感觉在开发环境中比2.2要快很多,和改进的lazy load有关,在生产环境还须再测试对比看看。
1 楼
robbin
2009-03-21
每次升级Rails都有点心惊肉跳的,不单纯是这些不兼容的文件修改,而是很多不实际上线运行发现不了的新问题。
发表评论
-
Destroying a Postgres DB on Heroku
2013-04-24 10:58 888heroku pg:reset DATABASE -
VIM ctags setup ack
2012-04-17 22:13 3213reference ctags --extra=+f --e ... -
alias_method_chain方法在3.1以后的替代使用方式
2012-02-04 02:14 3238alias_method_chain() 是rails里的一个 ... -
一些快速解决的问题
2012-01-19 12:35 1433问题如下: 引用Could not open library ... -
API service 安全问题
2011-12-04 08:47 1340这是一个长期关注的课题 rest api Service的 ... -
Module方法调用好不好
2011-11-20 01:58 1297以前说,用module给class加singleton方法,和 ... -
一个ajax和rails交互的例子
2011-11-19 01:53 1856首先,这里用了一个,query信息解析的包,如下 https: ... -
Rails 返回hash给javascript
2011-11-19 01:43 2237这是一个特别的,不太正统的需求, 因为,大部分时候,ajax的 ... -
关于Rubymine
2011-11-18 23:21 2224开个帖子收集有关使用上的问题 前一段时间,看到半价就买了。想 ... -
ruby中和javascript中,动态方法的创建
2011-11-18 21:01 1191class Klass def hello(*args) ... -
textmate快捷键 汇总
2011-11-16 07:20 8089TextMate 列编辑模式 按住 Alt 键,用鼠标选择要 ... -
Ruby面试系列六,面试继续面试
2011-11-15 05:55 1976刚才受到打击了,充分报漏了自己基础不扎实,不肯向虎炮等兄弟学习 ... -
说说sharding
2011-11-13 00:53 1433这个东西一面试就有人 ... -
rails面试碎碎念
2011-11-12 23:51 1896面试继续面试 又有问ru ... -
最通常的git push reject 和non-fast forward是因为
2011-11-12 23:29 17144git push To git@github.com:use ... -
Rails 自身的many to many关系 self has_many
2011-11-12 01:43 2675简单点的 #注意外键在person上people: id ... -
Rails 3下的 in place editor edit in place
2011-11-12 01:20 910第一个版本 http://code.google.com/p ... -
Heroku 的诡异问题集合
2011-11-11 07:22 1655开个Post记录,在用heroku过程中的一些诡异问题和要注意 ... -
SCSS 和 SASS 和 HAML 和CoffeeScript
2011-11-07 07:52 12898Asset Pipeline 提供了内建 ... -
Invalid gemspec because of the date format in specification
2011-11-07 02:14 2068又是这个date format的错误。 上次出错忘了,记录下 ...
相关推荐
rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...
ruby and rails 的框架rails-2.3.3.zip
如果无法通过网络升级rail,可以通过本地安装包进行安装,内有使用说明
NULL 博文链接:https://t284299773.iteye.com/blog/1401761
Better Assets 是 Rails 2.3.2 AssetTagHelper 的一个monkeypatch,用于启用一些附加功能。 关键点是: 基于时间的缓存资产文件到期,这主要用于... 远程资产的缓存和组合 最后,您可以使用传递给javascript_...
升级Rails的?这是一个很好的时间来重构你的代码
简介 Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。...Rails 开发人员很少或者可能从未遇到
[Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
webpack-rails, 将 web pack与你的Ruby on Rails 应用程序集成 不再维护webpack-rails 不再被维护。 有关详细信息,请参阅 #90. web pack-railsweb pack 为你提供了将 web pack集成到现有的Ruby on Rails 应用程序中...
学习完本书的内容之后,你将具备使用 Rails 进行开发和部署 Web 程序的技能。同时你还能够通过一些进阶的书籍、博客和视频教程等活跃的 Rails 教学体系继续深造。本书基于 Rails 4,这里的知识代表着 Web 开发的发展...
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成 AdminLTE Rails gem AdminLTE 是后端的高级 Bootstrap 主题。英镑 AdminLTE Rails gem 与 Rails 资产管道集成了英镑AdminLTE主题。安装将...
一个用Ruby on Rails搭建的图片分享的网站项目.完整源代码
《Rails之道》按照Rails的各个子系统进行组织编排,分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,...
ruby on rails 的api , 用teleport从官网down的, rails 版本:2.3.2
本资源是参照rails敏捷开发第四版书中的例子,rails的版本是rails3.2.6
Bootstrap 3 和 Rails 4(样例用的是Ruby 2.1.1,Rails 4.1.4) Table of Contents Preface 1 Chapter 1: Introducing Web Application Development in Rails 7 Why Bootstrap with Rails? 8 Setting up a Todo ...