It’s not difficult to use Couchdb with Rails3. Most of it comes down to making sure that you’re not loading ActiveRecord and understanding how to manager the new Rails dependency.
1. For couchdb, We need install g++,
erlang and few adapter, so that couchdb will work smoothly.
Run below command form terminal,
$ sudo apt-get install g++ $ sudo apt-get install erlang-base erlang-dev erlang-eunit erlang-nox $ sudo apt-get install libmozjs185-dev libicu-dev libcurl4-gnutls-dev libtool
2. One we done with above installation, go to couchdb site and download coach db source file.
In a terminal, go to the folder where you have downloaded the file, extract and go to bin folder and run below commands.
$ ./configure $ makee $ sudo make install
That’s it, you done with coachdb installation.
Creating a new Rails Application With couchrest_model
The important thing here is to avoid loading ActiveRecord. So we will use --skip-active-record to skip ActiveRecord initialization.
$rails new cast --skip-active-record
The first thing we need to do is to add the Couchrest_model gem to the Gemfile.
source ‘https://rubygems.org‘ application
gem ‘rails’, ‘3.2.13’
group :assets do
gem ‘sass-rails’, ‘~> 3.2.3’
gem ‘coffee-rails’, ‘~> 3.2.1’
gem ‘therubyracer’, :platforms => :ruby
gem ‘uglifier’, ‘>= 1.0.3’
Once you’ve configured yeeeour Gemfile, We can then install the gems running the bundle installer:
$ bundle install
Installing couchrest (1.1.3)
Installing couchrest_model (1.1.2)
Using jquery-rails (3.0.4)
Using rails (3.2.13)
Using sass (3.2.9)
Using sass-rails (3.2.6)
Using uglifier (2.1.2)
Your bundle is updated!
Once the gems have installed we’ll need to run the Couchdbrest_model configuration generator so that it can create the configuration YAML file.
$rails generate couchrest_model:config
The default file is shown below. We can leave it as it is while we’re developing our application.
Everything is in place now for us to begin building our application. We’ll start by creating an User model with
email, first_name and
last_name fields and use Rails’ scaffolding to create the associated controller and view code.
$rails g scaffold user email:string fname:string lname:string
If we open up the model file we’ll see that it’s a simple class that
class User < CouchRest::Model::Base end
you can now start to add properties to the model.
To define a property, simply call the
property class method in your model definition:
class User < CouchRest::Model::Base property :email, String property :fname, String property :lname, String end
Our application is now ready to run. We don’t need to run any database migrations as CouchDB is schema-less. Now it’s time to run server. Make sure your Couchdb(sudo couchdb) is running in other terminal OR background.