use*_*569 61 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1
你如何从Rails 3升级到Rails 3.1 beta?
小智 54
在更新现有的rails 3.0.8项目时,这对我有用.你的旅费可能会改变...
更新我的Gemfile中指定的rails版本以使用最新的候选版本:
gem 'rails', '3.1.0.rc4’
Run Code Online (Sandbox Code Playgroud)
更新捆绑包:
bundle update
Run Code Online (Sandbox Code Playgroud)
然后使用rake命令更新项目:
rake rails:update
Run Code Online (Sandbox Code Playgroud)
樱桃采摘后,虽然变化冲突,我跑了所有的测试,他们通过(耶!).我重新启动了服务器,到目前为止一切似乎都很好.
但是,这还没有使用新的资产管道.我的意思是javascript和css(或sass)文件仍然以预管道方式处理.据我了解,这是一个非常可行的选择.但是,当然,我想要新的优点,所以我相信接下来的步骤是包含和其他宝石(例如coffeescript,sass,uglifier等),然后将旧文件迁移到app/assets目录.
我发现了一些关于它的细节:
http://blog.nodeta.com/2011/06/14/rails-3-1-asset-pipeline-in-the-real-world/
希望这很有帮助.
Jon*_* M. 28
通过将我的Gemfile更改为:我刚刚从3.0升级到3.1
gem 'rails', '3.1.0.rc1'
gem 'sqlite3'
gem 'sass'
gem 'coffee-script'
gem 'uglifier'
Run Code Online (Sandbox Code Playgroud)
我还在config/environments/development.rb中注释了以下行
# config.action_view.debug_rjs = true
Run Code Online (Sandbox Code Playgroud)
最后,确保在config/application.rb中启用资产管道
config.assets.enabled = true
Run Code Online (Sandbox Code Playgroud)
我不确定你是否已阅读发行说明http://weblog.rubyonrails.org/2011/4/21/jquery-new-default
Mar*_*sel 13
更新:请谨慎使用系统rake,因为rake已升级.
bundle exec rake
Run Code Online (Sandbox Code Playgroud)
确保您将为给定的rails项目使用正确的rake(源)
我建议从一个新的应用程序开始,然后复制您的特定应用程序信息,同时将资源转换为新的资产/链接器格式.
一个例子
在将较旧的rails 2.3.4应用程序转换为3.0时,我在项目内一次更改一个文件时崩溃并烧毁.毋庸置疑,这是一个有缺陷的策略,但我确实在学习过程中学到了一些东西.我最终跳过3.0并使用新应用程序移至3.1beta1,并在获得正确的迁移后复制我的应用程序和公用文件夹.这一举动有几个突出的问题,最重要的是我没有使用rails edge来创建新的应用程序(感谢提示RubyInside).
首先将最新的导轨锁定在易于参考的位置:
cd ~/goodtimes
git clonehttps://github.com/rails/rails.git我的路径包括〜/ Desktop/Dropbox /所以我的代码随处可用.
然后参考rails exec来构建一个新的应用程序:
~/goodtimes/rails/bin/rails new bacon --edge
根据数据库的复杂程度,您可能希望使用更改语法创建新的迁移,或者将它们保留为:
Run Code Online (Sandbox Code Playgroud)class CreatePosts < ActiveRecord::Migration def change create_table :posts do |t| t.string :title t.text :body t.timestamps end end end
我有一个问题部署到Heroku,但是RadyRacer宝石帮助解决了这个问题.这是一个简单的Gem文件的示例:
source 'http://rubygems.org'
gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
# Asset template engines
gem 'sass'
gem 'coffee-script'
gem 'uglifier'
gem 'jquery-rails'
gem 'pg'
gem 'therubyracer-heroku', '0.8.1.pre3', :platforms => :ruby
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'
group :test do
# Pretty printed test output
gem 'turn', :require => false
end
Run Code Online (Sandbox Code Playgroud)
我怀疑会有社区工具来帮助您自动从旧版本的Rails迁移到--edge.
参考文献:
| 归档时间: |
|
| 查看次数: |
25105 次 |
| 最近记录: |