使用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
查看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。