每天一剂Rails良药之Rails Without A Database

一般Rails项目都默认为需要数据库存储支持,但是当我们不需要数据库时,如基于外部WebService的项目和一些测试时,我们可以通过一些小技巧来达到解除数据库依赖的目的

1,修改test_helper.rb
[code]
ENV["RAILS_ENV"] = "test"
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
require 'application'
require 'test/unit'
require 'action_controller/test_process'
require 'action_web_service/test_invoke'
require 'breakpoint'
[/code]
然后我们直接运行ruby test/unit | functional/xxx_test.rb即可

2,在lib/tasks/里写一个clear_database_prerequisites.rake来解除数据库依赖
[code]
[:test_units, :test_functional, :recent].each do |name|
Rake::Task.lookup(name).prerequisites.clear
end
[/code]
这样我们就可以调用Rails内建的test_units(),test_functional()和recent()这三个tasks而不需要数据了
(但是Rails报Rake::Task没有lookup方法的错误)

3,config/environment.rb里精简Rails模块来节省内存资源和提高性能
[code]
# Skip frameworks you're not going to use
# config.frameworks -= [:action_web_service, :action_mailer ]
[/code]
我们把:active_record添加到上述列表即可,这种方式应该说是最简单的
(但是Rails报"uninitialized constant ActiveRecord"的错误)

每天坚持写博客,好记性不如烂笔头,学有所思,用文字记录学习过程的所思所得。
家里的adsl跟公司的8M铁通差远了,刚才写好的博客正准备发表,结果蛙眼挂了,只好重写。虽说铁通也不怎么样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值