热门标签 | 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



推荐阅读
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • Abp+MongoDb改造默认的审计日志存储位置
    一、背景在实际项目的开发当中,使用AbpZero自带的审计日志功能写入效率比较低。其次审计日志数据量中后期十分庞大,不适合与业务数据存放在一起。所以我们可以重新实现A ... [详细]
  • MongoDB学习:(二)MongoDB简单使用
    MongoDB学习:(二)MongoDB简单使用MongoDB使用:执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面>mongo提示 ... [详细]
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社区 版权所有