热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mac系统中搭建rails3+MongoDB的demo工程

环境:ruby1.9.3p194(2012-04-20revision35410)[x86_64-darwin11.4.0]rvm1.14.5(stable)byWayneE.Seguin,MichalPapis[https://rvm.io/]Rails3.2.6MongoDB?dbversionv2.0.6,pdf

环境: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0]

rvm 1.14.5 (stable) by Wayne E. Seguin , Michal Papis [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 `': 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. 链接:http://stackoverflow.com/questions/11000788/undefined-method-key-for-nilnilclass-when-using-mongomapper

4.问题:访问http://localhost:3000/projects时,报如下异常:
ArgumentError (wrong number of arguments (1 for 0)): ? app/controllers/projects_controller.rb:1:in `'
解决办法:未能明确,怀疑
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



推荐阅读
  • MongoDB高可用架构:深入解析Replica Set机制
    MongoDB的高可用架构主要依赖于其Replica Set机制。Replica Set通过多个mongod节点的协同工作,实现了数据的冗余存储和故障自动切换,确保了系统的高可用性和数据的一致性。本文将深入解析Replica Set的工作原理及其在实际应用中的配置和优化方法,帮助读者更好地理解和实施MongoDB的高可用架构。 ... [详细]
  • MongoDB核心概念详解
    本文介绍了NoSQL数据库的概念及其应用场景,重点解析了MongoDB的基本特性、数据结构以及常用操作。MongoDB是一个高性能、高可用且易于扩展的文档数据库系统。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 本文介绍了如何使用Node.js通过两种不同的方法连接MongoDB数据库,包括使用MongoClient对象和连接字符串的方法。每种方法都有其特点和适用场景,适合不同需求的开发者。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • 在OpenShift上部署基于MongoDB和Node.js的多层应用程序
    本文档详细介绍了如何在OpenShift 4.x环境中部署一个包含MongoDB数据库和Node.js后端及前端的多层应用程序。通过逐步指导,读者可以轻松完成整个部署过程。 ... [详细]
  • 在安装 iOS 开发所需的 CocoaPods 时,用户可能会遇到多种问题。其中一个常见问题是,在执行 `pod setup` 命令后,系统无法连接到 GitHub 以更新 CocoaPods/Specs 仓库。这可能是由于网络连接不稳定、GitHub 服务器暂时不可用或本地配置错误等原因导致。为解决此问题,建议检查网络连接、确保 GitHub API 限制未被触发,并验证本地配置文件是否正确。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案
    MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案 ... [详细]
author-avatar
夜晨在行动
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有