Today's the day

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

Passenger (mod_rails for Apache) launches
Ruby 中获取目录大小

在插件中添加 Controller

galeki posted @ 2008年4月16日 00:26 in RoR with tags controller , 2962 阅读

原来以为,通过插件添加新的 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

搞定收工~

  • 无匹配

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter