使用MongoDB和Ruby on Rails4创建应用程序

解释如何使用MongoDB来创建Ruby on Rails4应用程序。

这次,使用的是Ruby 2.1版本和操作系统为“Ubuntu12.04”,并且假设Rails4的环境已经准备好。

安装MongoDB

获取存储库的公钥。

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

我要添加存储库。

$ echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
$ sudo apt-get update

安装MongoDB。

$ sudo apt-get install mongodb-10gen

检查MongoDB服务是否正常启动。

如果使用命令”mongo -version”显示如下内容,则表示正常启动。

$ mongo -version
MongoDB shell version: 2.4.9

创建一个Rails4应用程序

使用-O选项来设置不将ActiveRecord集成进来。

$ rails new hoge -O

Gemfile文件的配置

请按以下方式添加gem。

gem 'mongoid', '4.0.0.beta1'
gem 'moped', '~>2.0.beta6'
gem 'bson_ext'

执行bundle update。

$ bundle update

如果出现类似「无法找到 JavaScript 运行时…」的错误,请在 Gem 中添加「therubyracer」。

生成MongoDB的DB配置文件

$ rails g mongoid:config
      create  config/mongoid.yml

在配置文件(config)下会生成一个名为“mongoid.yml”的用于MongoDB的数据库配置文件。

使用Scaffold来创建应用程序的模板。

使用 Scaffold 创建一个应用程序的雏形,该应用程序用于发布文章。

$ rails g scaffold Article title:string
      invoke  mongoid
      create    app/models/article.rb
(中略)
      create    app/assets/stylesheets/scaffolds.css.scss

确认动作

请按照以下方式输入命令,在浏览器中访问“localhost:3000/articles”以确认功能是否正常。

$ rails s
mongo_rails4.jpg

查看MongoDB中的数据。

开始启动MongoDB Shell。

$ mongo

输入show dbs命令在MongoDB Shell中,可以看到已创建名为”hoge_development”的数据库。

MongoDB shell version: 2.4.9
connecting to: test
> show dbs
hoge_development     0.0625GB

然后,使用use命令选择数据库,并输入show tables命令,即可确认”articles”表已经被创建。

此外,当输入db.articles.find()时,可以确认在文章中存储了”Hello World”。

> use hoge_development
switched to db hoge_development
> show tables
articles
system.indexes
> db.articles.find()
{ "_id" : ObjectId("5305324d6d68762b7d000000"), "title" : "Hello World" }
> 

输入exit将退出MongoDB Shell。

广告
将在 10 秒后关闭
bannerAds