Rubyonrails avec Mongodb from scratch

mongodb

Ajouter les dépots mongodb et installer MongoDb

Editer le fichier /etc/apt/sources.list
sudo nano /etc/apt/sources.list

Ajouter à la fin du fichier (pour ubuntu 9.10)
Voir https://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages

deb https://downloads.mongodb.org/distros/ubuntu 9.10 10gen

Puis on enregistre (ctrl + o, ctrl + x), on met à jour les dépots
sudo aptitude update

Ensuite on installe
sudo aptitude install mongodb-stable

Faire une pause vu le temps d'installation...
sudo prendre un café ou un chocolat

Créer un nouveau projet rails

rails projettestmongo cd projettestmongo

Editer le fichier de configuration du projet

sudo gedit ./config/environment.rb

Ajouter au fichier
config.gem "mongo_mapper"

Installer les gems
sudo rake gems:install

Créons les models product et category (un produit appartient à une categorie)
script/generate scaffold category name:string --skip-migration script/generate scaffold product name:string --skip-migration

Ensuite il faut éditer les models
class Category
#MongoMapper
include MongoMapper::Document
#Liste des attributs
key :name, String
many :products
end

class Product
#MongoMapper
include MongoMapper::Document
#Liste des attributs
key :name, String
key :category, ObjectId
end

On supprime le fichier index.html et on modifie les routes.
map.root :controller => :products, :action => :index

A ce stade l'application et utilisable.

Lien : https://www.2dconcept.com/articles/12-ruby_on_rails_mongo_mapper_fr?lang=fr https://railscasts.com/episodes/194-mongodb-and-mongomapper