How to downgrade Rails version? - ruby-on-rails-3

I create my rails application in version 3.0.7.
now i want to deploy my application, but the server is only support 3.0.3
how can i downloadgrade my application?
thanks

replace
gem 'rails','3.0.7'
with
gem 'rails', '3.0.3'
in your gemfile
Then run bundle
On a second note why not upgrade the server to rails 3.0.7?

Unless I'm mistaken... you can't. Well, you can, by:
Creating a new app
Bundle-installing all the necessary plugins, gems, etc
Copying over app files, configs, helpers, tests, everything
Running tests and seeing what doesn't now work
Making changes where required
Unfortunately, I don't believe there exists an easier way.

Related

Can I "move" my gems while upgrading Ruby 1.8.7->1.9.3 and Rails 3.0->3.2?

I am Ruby/Rails beginner, and I am on Windows.
I just used RailsInstaller to upgrade from Rails 3.0.9 to 3.2.3, from Ruby 1.8.7 to 1.9.3. The gems that I installed previously no longer appear when I type gem list. I assume this is normal.
My question is: Is there a way to get all of those gems "into" Ruby 1.9.3 without individually re-installing them?
When I went into an old rails apps and ran bundle install, it appears that a few of my gems were re-installed (the ones in the Gemfile).
Any help would be appreciated. Sorry if I am missing something obvious.
If you're just upgrading to a new version, as long as everything that was in your Gemfile was installed when you ran bundle install then I wouldn't worry about it. Just re-install gems as you need them instead of bloating your system with gems that you don't currently need.
If you have projects that you are porting over to the newer versions of Rails and Ruby, you can just run bundle install as the first step in upgrading the app to make sure its dependencies are installed.
Maybe someone could give you an yes/no answer for transitioning with RailsInstaller, but I'm trending toward using rvm and gemsets to have a cleaner, more focused environment for each project.
If you want to switch back and forth between multiple ruby versions, maybe check out the gem pik. You can use it to install gems on multiple versions of ruby so that they're available across them all.

What's the best way to 'bundle' a gem inside a Mac app?

I've inherited a small obj-C utility app that acts as a wrapper around a ruby script (which is obviously included as a resource in the application).
The helper ruby script, though, requires the json gem. What's the best way to include the gem (and the gem's dependencies) within the app?
I could have the application run a check when it loads to see if the gem is installed and then gem install it, but I thought there might be a more elegant solution.
The first step is to check if the json gem has any dependencies:
$ gem dependency json
The version I have installed has no dependencies, so then you need to get a copy of the gem into your bundle.
$ cd /my/project/resources
$ gem unpack json
Then, to require it, you can use the line:
require File.join(File.dirname(__FILE__), 'json-VERSION','lib','json')
replacing VERSION with the gem version.

How to find actually necessary gem set

when I was created a new rails app with rails new app_name. I found that many gems were installed and I suspect I will not use many of them. It is possible to have a minimal set of gems when I do a rails new?
Thank you.
Additional information:
I'm concerned about this because when I push a fresh new rails app onto heroku, I realized many gems are installed, and I'm not using most of them.
What ending up within your application in controlled through the "Gemfile" in your root directory. Running bundle / bundle install will install the gems and their dependencies.
But having gems available in the system doesn't mean your application will rely on them.
Further reading: http://gembundler.com/gemfile.html

Issues with Rails3.0 vs Rails 3.1

So I finally upgraded (and then downgraded because of Unity) Ubuntu and reinstalled RVM but I'b stuck with rails 3.1 now, which is fine but all my old projects are in rails 3.0 and 3.1 has some incompatibilities. Off the top of my head RAILS_ROOT is now Rails.root (which all my projects use in someway), and I was having some issues with heroku when trying to upload a small rails 3.1 app I made to play around (since the PG gem wasnt in my gemlist I couldnt run migrations, and then installing the pg gem caused more issues).
So how do I install rails 3.0 again? I cant seem to find it in the repositories
And I know with gem sets I can install both right? Well if I do that, how do I create a new rails project? Which version of rails would use rails new new_app?
Ok, I understand what you need to do. I would highly recommend making a new Gemset using RVM, that way you can start from scratch and not worry about those things.
To do that, run this in your command line with RVM installed:
// EDIT THIS LINE TO MATCH WHAT YOU WANT
rvm use 1.9.2-or-which-ever-version-you-are-using#temporary_gemset --create
Once this gemset is created, it will be empty, so you can then proceed to install a younger version of rails, like so:
gem install rails -v 3.0.11 // (MAY NEED TO USE SUDO, DEPENDING ON YOUR SET UP)
This should install the older version of rails and its dependencies so that you can still edit and work with your older rails project. Check more of RVM's site for more help on switching between gemsets and creating them.
https://rvm.io//gemsets/
I would still recommend to figure out the differences eventually and move to the newer version for Rails, currently 3.2.5 because they are awesome. Here is some material to show you the differences and new features for when you do that later:
http://railscasts.com/episodes/265-rails-3-1-overview
http://railscasts.com/episodes/282-upgrading-to-rails-3-1
http://railscasts.com/episodes/318-upgrading-to-rails-3-2

problem in installation on acts_as_taggable_on_steroids as a gem

hi i am trying to use acts_as_taggable_on_steroids in my rails3 project, but it gives me error.Once i installed it as plugin but no improvement.
please give me steps to install it as gem in rails3 ,and it's usage.
You have to use it as a plugin to work, at least that way worked for me in Rails 3. Download the plugin and put in in /vendor/plugins folder in your project.