Today's the day

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

在插件中添加 Controller

原来以为,通过插件添加新的 Controller 很难,其实非常简单,只要建个 xxx.controller.rb 文件,然后在里面按照普通的方式定义这个 Controller:

  1. class XxxController < ActionController::Base
  2.    
  3.     ....
  4.  
  5. end

然后在插件的 init.rb 里 require 这个文件就可以了……

再按照自己喜欢的格式添加个 route:

  1. class ActionController::Routing::RouteSet
  2.   unless (instance_methods.include?('draw_with_xxx'))
  3.     class_eval <<-"end_eval", __FILE__, __LINE__
  4.       alias draw_without_xxx draw
  5.       def draw_with_xxx
  6.         draw_without_xxx do |map|
  7.           map.connect '/xxx/do_xxx', :controller => 'xxx', :action => 'do_xxx'
  8.           yield map
  9.         end
  10.       end
  11.       alias draw draw_with_xxx
  12.     end_eval
  13.   end
  14. end

搞定收工~

单机版进展 50%

小看这个工作了,比想象中工作量要大很多,现在这个 Chito 可以说是为了 is-Programmer 而写的,很多地方都对 is-Programmer 特殊化了,比如首页和注册登录界面,现在是拿了一个单独的 Controller 来实现首页,单机版肯定不能这样搞。

单用户和多用户合并在一起,也比预想中要麻烦,毕竟单用户只针对一个固定用户,而多用户要从当前的二级域名中得到当前的用户,得到当前用户的方式要区分。地址的生成也不同,多用户模式下必须生成完整的带有二级域名的地址,都快被这些东西搞晕了……

无可避免的,用户得选择一下用户模式,多用户的话还得填写一下根域名,希望不会让使用的人困扰……

Passenger (mod_rails for Apache) launches

起床后在 DHH 那里看到这篇文章,大喜~   随后转到了 Passenger 的官方网站,上面的简介:

Phusion Passenger — a.k.a. mod_rails — makes deployment of applications built on the revolutionary Ruby on Rails web framework a breeze. It follows the usual Ruby on Rails conventions, such as “Don’t-Repeat-Yourself”.

  • Deployment is only a matter of uploading application files. No Ruby on Rails-specific server configuration required!
  • Built on the industry standard Apache web server.
  • Allows Ruby on Rails applications to use about 33% less memory, when used in combination with Ruby Enterprise Edition (optional).
  • Zero maintenance. No port management, server process monitoring or stale file cleanup required. Errors are automatically recovered whenever possible.
  • Designed for performance, stability and security. Passenger should never crash Apache even in case of crashing Rails applications.
  • Well-documented, for both system administrators and developers!

岂不以后可以像部署 php 那样轻松的在 Apache 上部署 rails 的网站了,不用配置复杂的配置文件,只需像 php 那样上传你的 rails 程序即可~

官方声称速度比 Mongrel 稍快,不过部署的便捷性才是 Passenger 的重点,如果 Passenger 在安全性、稳定性之类的都没问题的话,凭借着 Apache 的占有率,对 Rails 肯定是个不错的推广,也许会有很多主机商推出 Rails 空间吧~ 想拿 Rails 赌一把的,现在着手尝试搞个基于 Passgenger 的 Rails 主机也不错~

有人已经尝试了,安装和配置很简单,运行的效果和原来无异( 那是当然…… )。

官方还有视频指导,感兴趣的朋友可以去看看~

教训唉

昨天晚上回 Windows 下看了个电影,然后重启回 Linux 发现进不去了,竟然是 Kernel Panic,LiveCD 启动,重新编译内核无数次、检查磁盘、上网查…… 搞了一个晚上,最后发现是忘记看 grub 的升级信息,把 grub 重新 setup(hd0) 一下,就 OK 了……

吸取教训了,原来对不看升级信息的后果太低估了,以为最多是个软件没发启动什么的,到时候再搞一下就好了,哪想到会连机都启动不了……

不过昨天这解决问题的过程还是值得肯定的,重编译内核无果,就排除了内核;LiveCD 下可以查看磁盘,磁盘检查也没错,就排除了硬盘;最后用 LiveCD 的 grub 启动,发现可以,这才确定问题在 grub 上,lyanry 一提醒,果然是 grub,问题才解决~

要是一开始不仔细分析错误,直接重装的话,也许可以解决问题,但是永远也不会知道问题出在哪里了,以后再出现这个问题还是没辙,还会浪费大量时间安装和恢复环境,其实硬盘根本就没有问题~

FCKEditor 2.6 终于发布了~

FCKEditor 终于发布了 2.6 的正式版,相对上次的 RC 版没有改动,白等了这么久……

尝试了一下,新的浮动窗口效果不错,速度快了很多。除了代码高亮的插件还有点问题,其他的插件运行非常正常~

这两天就更新上来~