it-swarm.com.ru

Обновление с Rails 3 до Rails 3.1

Как выполнить обновление с Rails 3 до Rails 3.1 beta?

61
user730569

Это то, что сработало для меня при обновлении существующего проекта Rails 3.0.8. Ваш пробег может варьироваться ...

Обновите версию Rails, указанную в моем Gemfile, чтобы использовать последнюю версию кандидата:

gem 'Rails', '3.1.0.rc4’

Обновите комплект:

bundle update

Затем обновите проект с помощью команды rake:

rake Rails:update

После сбора вишни, хотя конфликты изменений я выполнил все свои тесты, и они прошли (yay!). Я перезапустил сервер, и пока все выглядит хорошо.

Тем не менее, это еще не использует новый конвейер активов. Под этим я подразумеваю, что файлы javascript и css (или sass) все еще обрабатываются до конвейерной обработки. Насколько я понимаю, это вполне жизнеспособный вариант. Но, конечно же, я хочу новых качеств, поэтому я считаю, что следующие шаги - включить и дополнительные гемы (например, coffeescript, sass, uglifier и т.д.), А затем перенести старые файлы в каталог app/assets.

Я нашел некоторые подробности об этом здесь:

http://blog.nodeta.com/2011/06/14/Rails-3-1-asset-pipeline-in-the-real-world/

Надеюсь, это было полезно.

54
Jeff Johnston

Я только что обновил с 3.0 до 3.1, изменив свой Gemfile на:

gem 'Rails', '3.1.0.rc1'
gem 'sqlite3'
gem 'sass'
gem 'coffee-script'
gem 'uglifier'

Я также прокомментировал следующую строку ниже в config/environment/development.rb

# config.action_view.debug_rjs = true

Наконец, убедитесь, что вы включили конвейер ресурсов в config/application.rb

config.assets.enabled = true

Я не уверен, читали ли вы заметки о выпуске http://weblog.rubyonrails.org/2011/4/21/jquery-new-default

28
Jon M.

Обновить до Rails 3.1

смотреть это :)

24
bor1s

Обновление Rails

Обновление : будьте осторожны в использовании системного рейка, так как рейк был обновлен.

bundle exec rake

гарантирует, что вы будете использовать правильный рейк для данного проекта Rails ( source )


Я предлагаю начать с нового приложения, затем скопировать информацию о конкретном приложении и перевести ваши ресурсы в новый формат актива/звездочек.

Пример

При преобразовании старого приложения Rails 2.3.4 в 3.0 я рухнул и сгорел при смене одного файла за раз внутри проекта. Излишне говорить, что это была ошибочная стратегия, но я немного научился на этом пути. В итоге я пропустил 3.0 и перешел на 3.1beta1 со свежим приложением и скопировал мое приложение и общие папки после правильной миграции. У этого шага была пара нерешенных проблем, наиболее важным из которых было то, что я не использовал Rails Edge для создания нового приложения (спасибо за подсказку RubyInside).

Сначала поймайте последний Rails в удобном для справки месте:

cd ~/goodtimes

git clonehttps://github.com/Rails/rails.git

Мой путь включает в себя ~/Desktop/Dropbox /, поэтому мой код доступен везде.

Затем обратитесь к этому Rails exec для создания нового приложения:

~/goodtimes/Rails/bin/Rails new bacon --Edge

В зависимости от сложности вашей базы данных вы либо захотите создать новые миграции с использованием синтаксиса изменений, либо оставить их следующими:

 class CreatePosts < ActiveRecord::Migration
    def change
      create_table :posts do |t|
        t.string :title
        t.text :body

        t.timestamps
      end
    end
  end

У меня была проблема с развертыванием в Heroku, но драгоценность RubyRacer помогла решить эту проблему. Вот пример простого файла 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

Я подозреваю, что будут утилиты сообщества, которые помогут вам автоматизировать переход с более старых версий Rails на --Edge.

Рекомендации:

  1. Как играть прямо сейчас с Rails 3.1, CoffeeScript и всем этим джазом
  2. Четыре всадника из Rails 3.1beta, Coffee-Script, jQuery, SCSS и активы
  3. Rails 3.1beta развернут в Heroku с вашего iPhone
  4. Обратимые миграции
13
Mark Essel

Я рекомендую обновить ваш Gemfile, чтобы использовать Edge Rails. Например:

gem 'Rails',     :git => 'git://github.com/Rails/rails.git'
gem 'arel',      :git => 'git://github.com/Rails/arel.git'
gem 'rack',      :git => 'git://github.com/rack/rack.git'
gem 'sprockets', :git => 'git://github.com/sstephenson/sprockets.git'

gem 'sqlite3'

# Asset template engines
gem 'sass', '~> 3.1.0.alpha'
gem 'coffee-script'
gem 'uglifier'

Вы можете прочитать больше здесь http://pogodan.com/blog/2011/04/24/easy-Edge-Rails .

3
twmills

http://railscasts.com/episodes/282-upgrading-to-Rails-3-1

этот Railscast может помочь!

2
Rushabh Ajay Hathi

Это довольно хорошее руководство, которое подробно описывает установку Rails 3.1:

http://railsapps.github.com/installing-Rails-3-1.html

1
Josh Delsman

Если я правильно понял ваш вопрос, вот как:

gem install Rails --pre
1
abalogh

Мне помогло обновление приложения Rails 3.0.7 и 3.0.9 с помощью этого руководства

http://davidjrice.co.uk/2011/05/25/how-to-upgrade-a-Rails-application-to-version-3-1-0.html

Вы можете пропустить шаги 3 и выше, если хотите - это все равно будет работать, хотя вы не будете использовать все новое в Rails 3.1.

0
spnkr