rod mclaughlinMoving to Rails 3 (16 may 10)
Rails 3 is out Contra the instructions, you don't want Ruby 1.9.2 - Rails 3 can crash it. You want Ruby 1.8.7 - on Linux, do this first - sudo apt-get install libncurses5-dev sudo apt-get install libreadline5-dev Then download Ruby from http://www.ruby-lang.org/en/news/2010/08/16/ruby-1-8-7-p302-is-released/ bunzip2 ruby...tar.bz2 tar xvf ruby...tar cd ruby-.../ext/readline ruby extconf.rb make cd ../.. ./configure ; make ; sudo make install cd .. Get sqlite-amalgamation-3.6.23.1.tar.gz from wherever you can find it on the web tar xvfz sqlite-amalgamation-3.6.23.1.tar.gz cd sqlite-3.6.23.1 ./configure ; make ; sudo make install cd .. sudo gem update --system sudo gem install tzinfo builder memcache-client rack rack-test rack-mount sudo gem install sqlite3 Create a file called 'Gemfile' in your Rails project root and put this in it: source 'http://rubygems.org' gem 'rails', '3.0.0' gem 'hpricot', '0.8.2' gem "will_paginate", "~> 3.0.pre2" gem 'sqlite3-ruby', :require => 'sqlite3' gem 'libxml-ruby' gem 'dynamic_form' then enter 'bundle' from the command line Now the fun part... Rails 3 won't run your existing Rails Apps without several changes For example, you don't type 'script/server' to start, you type 'rails server'
I had to remove 'observe_form' AJAX generators in my edit.htm.erb files: this doesn't work any more: <%= observe_form( "edit_post_#{@post.id.to_s}", If you had <%= @post.message %> in an erb file in views, you now have <%= raw( @post.message ) %> and h( @post.title ) is no longer necessary just <%= @post.title %> There used to be a handy little tool for adding user login, passwords etc. to Rails called 'acts_as_authenticated'. Then they stopped supporting it, and it is incompatible with Rails 3. Instead, there is a plethora of badly-documented alternatives, which are apparently more 'restful', etc., and are harder to install, use, or understand. The one I'm trying to get into is called 'authlogic': http://github.com/binarylogic/authlogic_example
Back
|