- 浏览: 168411 次
- 性别:
- 来自: 杭州
最新评论
-
fair_jm:
谢谢lz的文章 例子举得通俗易懂 很有启发 ^_^
[erlang入门学习] erlang中的二进制数据处理 -
头疼项目:
wahte?
rails不支持bigint类型的mysql主键 -
头疼项目:
[color=blue][/color]
rails不支持bigint类型的mysql主键 -
xiangchao027:
我能明白,因为太嫉妒了!
rails 3 下面编写项目模板 -
ruby_windy:
我开了代理解决:linux下使用 export http_pr ...
[Ruby新手教学] 要有中国特色
文章列表
反复遇到不能正确cleanup的问题,今天看到这篇blog,虽然有点旧,但是确实就是我的现状,不明白rspec为什么改不好,还是决定用database_cleaner了。博客主要内容摘抄
This will fail. It will fail because that let statement lives outside of the transactions, so it doesn't get cleaned up, and that old stale database object sits around polluting the database.
That ...
今天单测不太顺利,主要是fixture使用不熟悉,记录两个问题
bug 1:经过定位发现是fixture数据始终不能灌入导致的,文件如下:
machine1:
id: 1
app_id: 1
machine1:
id: 2
app_id: 1
期望有两条数据,实际只有一条,原因是在rspec灌数据时装载yml,而这里的数据是个hash,结果key相同(都是“machine1”)的entry被覆盖了,后一条被装入。
所以解决办法是:检查并修改重名的fixture条目,确保不冲突
bug 2:经过定位发现是fixture数据导入时 ...
打开jruby+rails3的多线程开关
- 博客分类:
- 技术讨论
前两天把项目的设置改了一下,添加了 threadsafe=true,结果发现平时开发环境出现很多奇怪的错误
ActiveRecord::HasManyThroughSourceAssociationNotFoundError (Could not find the source association(s) :app in model Stakeholder. Try 'has_many :apps, :through => :stakeholders, :source => <name>'. Is it one of :user?):
app/control ...
改进一下昨天的工具,不再使用中间文件
- 博客分类:
- 技术讨论
[PS: javaeye上的评论好像不能提交,只好另写一篇了]
昨天写的小工具需要把database.yml改来改去的,不能自动化,今天上午搞了一把,直接建立两个数据库连接,然后数据库对数据库copy
使用时将旧的数据库配置文件复制为 old_database.yml ,配置好新的 database.yml 就可以提交代码了,服务器上更新一下,然后运行 rake data:copy 就ok了
namespace :data do
desc "copy data from old database"
task :copy => 'db: ...
数据备份和恢复代码,用于数据库迁移
- 博客分类:
- 技术讨论
apposs要从sqlite3迁移到mysql,支持所谓生产环境,所以写了段代码用于迁移数据,这种代码写过N遍了,所以决定放到博客上作为备忘,顺便展示一下ruby结合active record模式的方便
namespace :data do
desc "backup all data"
task :backup => :environment do
Dir.mkdir "data" unless File.exist? "data"
(ActiveRecord::Base.connectio ...
github有多重要就不说了,网上的资料也很多,这篇blog的目的是整理一下资料,方便新手入门
1. git入门:Git 中文教程
2. git 的完整介绍:Git Community Book 中文版
(我是看了这个才算基本弄明白 merge 和 rebase 的)
3. git 协作:
git多人协作开发流程(以blog为例)
Git flow 開發流程
3. github官方帮助:http://help.github.com
(了解过git后就可以看看这个了)
4. github的使用: github上
常用的两种工作模式
(算是官方帮 ...
gen_server的规约要求module必须实现init方法,形如:
init([State]) ->
{ok, State}.
对新手来说,这里容易犯的一个错误是误以为参数不是list,于是编写代码为:
init( State ) ->
{ok, State}.
这种错误一般很容易发现,但是对于 State 是 string 的情况则比较隐讳,因为——string也是一个list
今天就遇到一次这个陷阱,记录一下:
init( BaseUrl ) ->
{ok, BaseUrl}.
上面这段代码,没有用中括号,所 ...
之前开发了 java_side ,主要是便于 jruby 中使用基于 maven 管理的 java 三方包和基于 spring 管理的运行时服务,不过现在 jruby 1.6 以后 maven 这件事可以不必那么麻烦了,根据这篇blog
,我把自己试验的例子贴出来供参考:
下载
$ jruby -S gem install mvn:org.springframework:spring
Successfully installed mvn:commons-logging:commons-logging-1.1.1-java
Successfully installed m ...
大家都知道,JRuby可以用 require 来装载 jar 文件,但是似乎很少有人知道有另外两种方法可以完成同样的事情,也很少有人知道(JRuby)底层是如何做的。JRuby官方的 wiki 页面
包含了一组例子以帮助大家学习这些,不过,也许还可以更进一步......
如前所述,在你的ruby应用中装载java类的首要方法是 require 。它的工作方式与对 ruby 文件的装载类似,只是装载目标变成了jar文件,可以用类似下面的代码装载(jar文件中被打包的)java类:
require 'java'
require 'hello_world.jar'
...
今天部署一个系统,发现不能获取gem包,于是看看怎么回事
$ gem -v
1.3.6
$ gem update --system
JRuby limited openssl loaded. http://jruby.org/openssl
gem install jruby-openssl for full support.
Updating RubyGems
Updating rubygems-update
ERROR: While executing gem ... (Gem::GemNotFoundException)
could not find ge ...
今天执行 rake spec 出错,才发现我已经落伍很久了......
错误信息是这样的:
Task not supported by 'jdbcsqlite3'
外事不决问google,查得原文在此
不喜欢看E文的,这里简单解释一下,jdbcsqlite3、jdbcmysql 等驱动已经不再被建议使用,目前建议的是通过 activerecord-jdbc 透明的使用 adapter,修改方法如下:
1. generate jdbc
2. 改变配置代码:jdbcsqlite3 -> sqlite3
另外补充一句:注意要更换 Gemfile 中依赖的库,只 ...
在网络编程中,我们面对的不再是字符串,而是字节流,对于这些信息的处理,erlang提供了比特语法这样的工具。
废话少说,看例子:
Eshell V5.8.4 (abort with ^G)
1> X = "hello".
先定义一个字符串变量X,下面把它 ...
最近Yehuda Katz
发了一篇博客,说明bundle的使用,虽然看E文看的比较累,好在也看完了,转述一下吧。作者主要是说了两个方面:
bundle 的运行规则:
借助 Gemfile.lock ,bundle 会在整个项目中确保类库版本的一致性
更新 Gemfile 后,需要运行 bundle install ,这个命令将“保守”的更新Gemfile.lock —— 仅更新修改过的那些 gem
如果 bundle 系统发现不能进行保守更新,它会提示你需要执行 bundle update [somegem] ,这个命令将会更新所有必要的 gem 依赖(变更的gem以及相关的 ...
最近突然发现执行 rake 时遇到问题
$ rake -T
rake aborted!
undefined method `task' for #<Demo::Application:0x2b3a0934>
(See full trace by running task with --trace)
上网看了一下是 rake 的 bug ,参考这里
看E文可能比较累,这里简单列出解决办法:
修改 rails 项目的 Rakefile 文件,在 require 'rake' 之后加入下面一段:
class Rails::Application
includ ...
这篇blog是整理给自己看的,因为一年前解决过一个问题,结果时间一长居然忘了,今天重新解决了一遍,自己汗一下
warbler是一个打包工具,可以将rails应用打包为war,使用如下:
$ gem install warbler # 安装
$ cd your_rails_app
$ war ...