一、 概述

最近考虑用ruby on rails 搭建一套Blog系统,前端考虑用Bootstrap,数据库用Mongodb.由于之前没有相关应用经验。先记录下整个项目过程。

现有资源:

Mac 笔记本一台;

Rails环境已经搭建好,具体搭建过程可以参考:ruby on rails 指南中文版;

Mongodb已经搭建好,过程参考:https://docs.mongodb.org

本文在此基础上进行mongoid的搭建与配置,并且生成一个基于mongoid的简单项目

二、 创建忽略Active Record 的项目

运行:

rails new BlogProject --skip-active-record

执行后,会自动生成一个名为:BlogProject的项目。

三、修改Gemfile 文件

修改BlogProject项目目录下的Gemfile文件。添加:

gem 'mongoid', '~> 5.1.0'
gem 'bson_ext'

保存后运行:

bundle install

运行后,就可以在项目中应用mongoid了。

四、测试Mongoid是否能正常运行

生成一个简单的Blog页面添加、修改、删除功能

rails generate scaffold BlogArticle name:string --orm=mongoid

--orm=mongoid 是设置orm应用 mongoid

如果需要统一设置可以在config目录下application.rb中添加:

config.generators do |g|
g.orm :mongoid
end

运行后访问http://127.0.0.1/3000 可以看到效果:

添加一条记录,然后保存

我们进入Mongodb查询,可以看到mongoid正常运行了

p.s. 图片一会添加。。好久没用感觉blog图片添加好麻烦。。

Ruby on Raisl应用(一):在Rails上配置Mongoid+Mongodb的更多相关文章

  1. 【GitHub】在Mac上配置/使用Github

    以前一直听说过Github,但是自己一直不会用.最近不是太忙,于是想捣鼓捣鼓Github,没想到用了将近3个小时,才在Mac上配置成功. 首先简单介绍一下Git和Github 集中化的版本控制系统( ...

  2. CentOS 5 上配置 Redmine 和 Git

    现在我们用 Trac + Git 来管理所有的项目,早些时候是由 Trac + Subversion 管理的,和 Git 比较起来 Subversion 简直就是龟速.虽然我们前段时间换成了 Git ...

  3. MongoDb进阶实践之二 如何在Windows上配置MongoDB

    一.引言            上一篇文章,我介绍了如何在Linux系统上安装和配置MongoDB,其实都不是很难,不需要安装和编译,省去了Make && Make Install 命 ...

  4. 在Mac系统上配置Android真机调试环境

    在Mac系统上配置Android真机调试环境 mac上配置安卓环境还说挺方便的,真机调试也比win上要好一些.win上被各种软件强行安装了xxx助手. 在mac上就了一个干净的感觉. 下载Androi ...

  5. 在 Linux 上配置一个 syslog 服务器

    syslog服务器可以用作一个网络中的日志监控中心,所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,交换机以及其他主机)都可以把日志发送给它. 通过设置一个syslo ...

  6. 在Mac上配置adb命令

    在Mac上配置adb命令 在Mac OS中使用adb命令时,应进行变量配置,步骤如下: 一.终端中输入 cd ~ 二.输入touch .bash_profile 回车 touch:如果没有,则创建文件 ...

  7. 在Linux上配置xampp后远程访问域名报错

    在Linux上配置xampp后远程访问域名报错: New XAMPP security concept: Access to the requested object is only availabl ...

  8. 在同一台服务器上配置多个Tomcat

    如果要在一台服务器上配置多个Tomcat,主要就是要避免Tomcat服务器的端口冲突的问题.只需要修改CATALINA_HOME\conf\server.xml中的启动端口和连接端口就OK了! 下面我 ...

  9. IIS7.5 在已有的WEB网站上配置FTP发布

    IIS7.5 有了很多新特性,例如FashCGI,Rewrite 模块的内置,简易的FTP发布等等,但是即使是微软,也没有详细的文档,本文详细的介绍了如何在现有的WEB网站上建立FTP发布. IIS ...

随机推荐

  1. Codeforces Educational Codeforces Round 5 B. Dinner with Emma 暴力

    B. Dinner with Emma 题目连接: http://www.codeforces.com/contest/616/problem/A Description Jack decides t ...

  2. jq获取表单值与赋值代码

    jq获取表单值与赋值代码 jq获取表单值与赋值代码 $("#keyword")[0].value = ""; /*获得TEXT.AREATEXT的值*/ var ...

  3. CheckBoxList 只能选2个选项

    // ////下面判断用户是否多选,每选择一次比较一次,看是否超过规定名额 //string ClickedItem = Request.Form["__EVENTTARGET"] ...

  4. HTML5 <script>元素async,defer异步加载

    原文地址:HTML5′s async Script Attribute原文日期: 2010年09月22日翻译日期: 2013年08月22日 (译者注: 异步加载,可以理解为无阻塞并发处理.) (译者再 ...

  5. XCode7,打包上传的一些警告,及参考处理方法

    1.ERROR ITMS-90046 /90085: "Invalid Code Signing Entitlements. Your application bundle's signat ...

  6. 使用AutoMapper实现Dto和Model的自由转换

    AutoMapper是一个.NET的对象映射工具. 项目地址:https://github.com/AutoMapper/AutoMapper. 帮助文档:https://github.com/Aut ...

  7. ExchangeServeice获取在线outlook邮箱中的未读邮件

    using Microsoft.Exchange.WebServices.Data; using System; using System.Collections.Generic; using Sys ...

  8. C++检测一个文件是否存在

    ifstream::is_open - C++ Reference http://www.cplusplus.com/reference/fstream/ifstream/is_open/ // if ...

  9. Oracle中关于清除数据和释放表空间

    一.表的重命名 flashback table test2 to before drop rename to test3;--[to test3]将表重命名 drop table test3 purg ...

  10. 进程控制之fork函数

    一个现有进程可以调用fork函数创建一个新进程. #include <unistd.h> pid_t fork( void ); 返回值:子进程中返回0,父进程中返回子进程ID,出错返回- ...