Today's the day

向软件大牛炫耀我会焊单片机,向硬件大牛炫耀我会写 Rails,向软硬件大牛炫耀我生物,向软硬件生物大牛炫耀我会折腾期货 -_-bbb

偷偷的看书,打枪的不要

继续阅读

Chito 1.0.1 更新摘要

修正一些 bugs,改善一些小地方。

继续阅读

继续努力,1 月份计划

把 1.0 的 Chito 放到了服务器上,把 Chito 代码迁移到了 SVN 上,重新看了一遍《The Ruby Way》,又发现了不少好营养。 至此, 12月的计划 圆满的完成了

07 年马上就要过去,9 月到现在,这 4 个月,还算说得过去,干的事情虽然没自己期望的多,但也不至于懊悔得想去撞墙,就这样吧,07 年萨优呐拉~

继续阅读

开始用 SVN 管理 Chito 代码

原来一直以为 SVN 是个很复杂的东西,而且觉得 SVN 只有在多人协作的时候才能发挥左右。当初 Ruby中文社区 的版主 skyover 就建议我把项目移到 SVN 上去,不过因为当时忙着毕业,再加上对 SVN 一点都不了解,就没顾上搞,真是不好意思。

这两天花了点时间看了看 SVN 的东西,发现这东西还真是简单,一条命令就可以在电脑上创建个项目仓库,基于目录的管理清晰明了,常用的命令就那么几个: commit, update, co, diff, info, status,其他一切神奇的事情 SVN 都会帮你做好。

确实,SVN 更适合团队协作的情况,像我这样只是一个人搞个超小的项目,很多 SVN 都优点都没有用到。不过,只要花 5 分钟把项目迁移到 SVN 上去,就可以让 SVN 管理你的代码,保存你每一次的改动,告诉你版本之间某个文件的差异,让你可以追溯到之前的任何一个版本……何乐而不为呢~

Rails 中生成二级域名

Rails 中的 url_for,默认生成的地址是相对地址,当然你可以传入参数 :only_path => false,这样就能生成完整的地址。

但是有的时候,我们要指定二级域名,比如像 is-programmer.com 这样的多用户 blog,我们要生成 http://galeki.is-programmer.com 或者 http://yyc.is-programmer.com 这样的地址,但是 url_for 只能传入 :host => 'xxx',并没有 subdomain 的选项。

当初找到的第一个解决办法,就是 Url For Domain 插件,安装之后,只要指定 :subdomain => 'xxx' 和 :only_path => false,就会生成带有正确二级域名的完整地址。

但是升级至 Rails 2.0 之后,貌似这个插件和 Rails 有冲突,没法正确运行。

后来折腾了一番,发现解决这个问题很简单,只需要在在 controllers/application.rb 中加入下面的代码,重定义核心的 url_for 方法即可:

  1. def url_for(options = {}, *params)
  2.   if options[:subdomain] then
  3.     options[:only_path] = false
  4.     host = []
  5.     host << options.delete(:subdomain)
  6.     host << request.subdomains[1..-1] if request.subdomains.size > 1
  7.     host << request.domain
  8.     options[:host] = host.join '.'
  9.   end
  10.   return super(options, *params)
  11. end

这样就顺利解决了问题,连 :only_path => false 都不用写,直接传入 :subdomain => 'xxx',就会自动生成带有二级域名的完整地址了~