在rails中使用mongoid
最近发现,如果是一个轻量级的项目的话使用MongoDB
数据库会比用sqlite3
来的更方便,下面就来介绍一下如何在rails中使用MongoDB
。
最近发现,如果是一个轻量级的项目的话使用MongoDB
数据库会比用sqlite3
来的更方便,下面就来介绍一下如何在rails中使用MongoDB
。
在使用vim-pathogen来管理vim插件的时候,使用到了git
的submodule
方式来往bundle
文件夹中添加插件。下面就来介绍下submodule
的使用方法。
该系列是用来记录最近学到的琐碎的东西。
1)解决在rails或sinatra中出现的OpenSSL::SSL::SSLError
错误
比如想要调用twitter的api得到auth授权的时候,会出现这个错误
1 | OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed) |
解决方法是,在需要的代码(比如config/initializers/devise.rb
)中加上如下代码
1 | require 'openssl' |
这篇文章写的是怎样在ubuntu下快速安装ruby on rails环境。
###1. 初始化设置
####1)修改源列表
因为本地的源列表不一定全,因此为了下一步着想还是先去看看源列表的好,或者可以换一个速度快的镜像地址。
每个版本的源列表都不一样在这里就不贴出来了。
之后记得运行
1 | sudo apt-get update |
####2)设置语言包以及时区
1 | sudo locale-gen --lang zh_CN.UTF-8 |
面对越来越凶残的某个东西,你自己动手丰衣足食,赶快行动吧骚年
###1)安装必备的包###
1 | sudo apt-get install curl libcurl3 libcurl3-dev |
###2)安装php运行环境###
1 | sudo apt-get install php5-cli php5-cgi php5-curl spawn-fcgi |
之后到/etc/php5/cgi/php.ini
文件中修改两配置
1 | cgi.fix_pathinfo=1 |
###3)安装nginx###
1 | sudo apt-get install nginx |
为了方便往系统中导入数据,这次不用ruby代码而是写成一个rake任务,直接使用ActiveRecord来做这个工作。
不过非常悲催的遇到了些问题,解决方法如下:
1)无法直接使用models文件夹下的model类,因此需要require
要操作的类。
如果是在rake中调用外部类实现这个功能的话,还需要在外部类里面加上
1 | $LOAD_PATH.unshift("#{Rails.root}/app/models") |
2)对于ActiveRecord::ConnectionNotEstablished
这个错误的,需要自己加上
1 | ActiveRecord::Base.establish_connection(Rails.application.config.database_configuration[Rails.env || 'development']) |
前略,某系统的数据是这样产生的
1)在rake中通过nokogiri来收集数据,然后把数据写入到一个yaml文件中
2)读取该yaml文件把数据写入数据库
结果在第一步的时候就遇到了非常悲催的「”\xE5” from ASCII-8BIT to UTF-8」,fml
解决方法:
写入文件的时候指定外部编码跟内部编码
要想要jsp实现rails的tamplate实在是太困难了,jsp:include
一个页面只是把别的东西拿过来应用,而没法把自己当作内容填充到模板上。再加上这个在做的东东主要用的是ajax方式得到数据,虽然有jquery这东西能节省很多时间,不过使用的时候还是很不方便,需要写一堆的链式才能生成一个完整的html片段出来,痛苦。
不知道要是没有github的话,现在还有没有那么多好玩的东西。在上面找到了一个叫做ICanHaz.js的tamplate实现,基本上满足了现在的需求,yeah。
其实这东西就跟String.format
实现的东西差不多,只不过这能给在string文本内定义变量名,然后format的时候传入一个对象,模板就能自动填充返回一个html片段。
(友情介绍,nutz的“代码模板”功能也能实现这样的需求哦,请看这里的介绍)
如题所示,准备把自己练手用的web应用从Sinatra逐渐转换到Rails下。
其实Sinatra也是一个很好用的东西,小巧精干,能很方便的搭建一个轻量级的网站框架出来。
不过为什么我还要从那么一个轻量级的框架转移到Rails下呢?
主要还是为了练手。
之前是因为Rails的路由器部分实在是难以理解,为了一个页面的迁移往往弄得自己死去活来,一不小心就转到了Sinatra上了。。。 (主要还是对RESTful不熟悉,没能理解该部分)
不过随着Rails升级到3.2,感觉再重新开始学的话学习成本也差不了多少,还是努努力掌握这玩意的,也算是为了将来做做打算。
多多看书,多多练手。
PS:已经定了Essential Rails Design Patterns这本书,不知道作者啥时候能写好发布出来的。。