`

Mac + Rails3 + MongoDB的Demo工程搭建

阅读更多

<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->

环境:
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0]
rvm 1.14.5 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
Rails 3.2.6
MongoDB db version v2.0.6, pdfile version 4.5


终端中执行命令:

rails new mongodemo
gem install mongo_mapper

在enviroment.rb中添加config.gem "mongo_mapper"
如启动报config变量无法找到,则修改config.gem "mongo_mapper"为$config.gem "mongo_mapper"

异常信息:
/Users/seraph/Documents/rails_projects/mongodemo/config/environment.rb:7:in `<top (required)>': undefined local variable or method `config' for main:Object (NameError)

$config代表全局变量引用

在config/initalizers中添加文件mongo_config.rb
内容:MongoMapper.database = "mongodemo-#{Rails.env}"

在Gemfile中添加
source "http://gemcutter.org"

gem 'mongo_mapper', github: "jnunemaker/mongomapper"
gem "bson_ext"
gem "nifty-generators", :group => :development
然后执行命令:bundle install

使用脚手架,生成MongoDB演示代码:
rails generate scaffold project name:string --orm=mongo_mapper
rails generate scaffold task project_id:string name:string completed:boolean --orm=mongo_mapper


访问MongoDB: http://localhost:28017/


各种异常情况处理:

1.问题:启动Rails服务器如报如下异常,说明没有安装bson_ext.

  gem install bson_ext

  If you continue to receive this message after installing, make sure that the
  bson_ext gem is in your load path and that the bson_ext and mongo gems are of the same version.

2.问题:在使用nifty生成代码时,如报如下异常,需执行:gem install nifty-generators
rails g nifty:scaffold Recipe name:string index new

/Users/seraph/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:287:in `resolve': Could not find gem 'nifty-generators (>= 0) ruby' in the gems available on this machine. (Bundler::GemNotFound)

3.问题:mongodb演示,访问http://localhost:3000/projects时,报异常:undefined method `key?' for nil:NilClass
解决:
(1)在Gemfile中添加
(2)在终端中运行 bundle install
解释:
Explanation: Rails 3.2.4 added a accessible_attributes method to ActiveModel, but MongoMapper already had this; so they were clobbering each other.

4.问题:访问http://localhost:3000/projects时,报如下异常:
ArgumentError (wrong number of arguments (1 for 0)):
  app/controllers/projects_controller.rb:1:in `<top (required)>'

解决办法:未能明确,怀疑

5.问题:如果访问MongoDBhttp://localhost:28017/页面时,页面提示需开启rest,则在/usr/local/mongodb/mongod.conf文件中添加
rest = true
全部内容是:
# Store data alongside MongoDB instead of the default, /data/db/
dbpath = /usr/local/mongodb_data

# Only accept local connections
bind_ip = 127.0.0.1

# Seraph add, to enable REST
rest = true



资源:


分享到:
评论

相关推荐

    RVM+Ruby1.9.3+Rails3(1-Cygwin 安装配置)

    在 Windows 7 环境下搭建 Rails 3 开发环境是一项颇具挑战性的任务,尤其是当涉及到 Cygwin、Ruby、Rails 以及一系列其他必要的组件时。本文将详细阐述如何在 Windows 7 系统上利用 Cygwin 进行环境搭建,包括 Git、...

    Ruby+Rails+社交+教程3

    本教程“Ruby+Rails+社交+教程3”旨在帮助开发者掌握如何利用Ruby的强大功能和Rails的优雅设计来构建一个具有用户交互性的社交平台。 首先,让我们深入了解一下Ruby。Ruby是一种面向对象的编程语言,以其简洁、易读...

    Agile+Web+Development+with+Rails+(4th+Ed....pdf

    Agile+Web+Development+with+Rails+(4th+Ed....pdf

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    Ruby On Rails系列从入门到精通实战教程 Ruby基础+Rails框架+网上商城项目实战

    Ruby On Rails系列从入门到精通实战教程 Ruby基础+Rails框架+网上商城项目实战

    Ruby+for+Rails

    **Ruby for Rails** Ruby是一种面向对象的动态编程语言,它以其简洁、优雅的语法和强大的元编程能力而闻名。在Web开发领域,Ruby与Rails框架的结合,即Ruby on Rails(RoR),开创了Web应用的新纪元。Ruby on Rails...

    Ruby+Rails+社交+教程

    3. **数据库交互**:Rails默认使用ActiveRecord,它是ORM(对象关系映射)库,用于与数据库交互。学习如何定义模型,创建和执行SQL查询,以及使用关联(如has_many, belongs_to等)。 4. **路由**:Rails的路由系统...

    ruby2.0.0+selenium-webdriver+watir-webdriver+rails离线备份

    ruby2.0.0+selenium-webdriver+watir-webdriver+rails离线备份,设置环境变量后可使用(未测试)

    Agile+Web+Development+with+Rails中文版.pdf

    《Agile Web Development with Rails》是一本经典的Rails开发指南,中文版的出版使得更多的中国开发者能够深入理解并应用敏捷开发方法与Ruby on Rails框架。这本书是Rails开发者的必备参考资料,它详细介绍了如何...

    flexigrid+rails 新手代码-。-

    3. **整合 Flexigrid 和 Rails**: - 在 Rails 应用中集成 Flexigrid,通常会在控制器中处理数据查询,然后通过 JSON 或者其他格式返回到前端。 - 视图部分,开发者会编写 HTML 和 JavaScript 代码,使用 ...

    ruby on rails对mongodb的操作

    本文将深入探讨如何在Ruby on Rails中集成并操作MongoDB。 首先,我们需要安装必要的库。MongoDB的Ruby驱动程序是`mongo` gem,而`mongoid`或`mongo_mapper`是两个流行的ORM(对象关系映射)工具,它们允许我们用...

    Ruby+Rails+社交+进阶教程5

    在本“Ruby+Rails+社交+进阶教程5”中,我们将深入探讨如何利用Ruby on Rails框架构建一个功能丰富的社交网络平台。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制...

    Ruby+on+Rails快速Web应用开发实战.pdf

    Ruby on Rails(简称RoR或Rails)是一种开源的网络应用框架,用Ruby语言编写。它被设计用来轻松地实现MVC(模型-视图-控制器)设计模式,...这些内容为开发者提供了从零开始搭建和管理Ruby on Rails项目的详尽指南。

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    Ruby on Rails 安装指南 Ruby on Rails 安装指南是指安装 Ruby 1.8.6 和 Rails 2.0.2 的详细步骤。首先,需要下载 Ruby One-Click Installer 版本,并安装 Ruby。然后,下载 Rails 2.0.2 版本,并安装。接下来,...

    Ruby on Rails.rar+MVC+RESTfule+Rails等系列教程

    Rails框架入门 MVC架构理解 数据库设计与迁移 ActiveRecord模型操作 Rails中的控制器编写 视图层HTML与ERB 路由系统详解 RESTful设计原则 Rails中的表单处理 Rails与JavaScript集成 Rails中的测试驱动开发 部署Rails...

    CRA+RailsAPI+设计登录+ActiveAdmin样板_Ruby_JavaScript_下.zip

    标题 "CRA+RailsAPI+设计登录+ActiveAdmin样板_Ruby_JavaScript_下" 提供了关于项目的核心技术栈,其中包括Create React App (CRA)、Ruby on Rails API 和 ActiveAdmin,以及登录功能的设计。这是一份使用前端React...

    Agile+Web+Development+with+Rails中文版

    《Agile Web Development with Rails中文版》是一本详细介绍如何使用Ruby on Rails框架进行敏捷Web开发的书籍。Rails是Ruby语言的一个强大的开源Web应用程序框架,它遵循敏捷开发的原则,旨在简化和加速Web应用的...

    Ruby+on+Rails实践

    Ruby on Rails,简称RoR,是一款基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用开发,提高开发效率,并且强调“约定优于配置”的原则。RoR的出现极大地推动了...

Global site tag (gtag.js) - Google Analytics