shitou's blog 

  • Home
  • About
  • Feed
  • 十人族
  • MIX BOY
  • 塌客

Category "ruby on rails"

09
Jun

在一个controller中调用另一个controller的方法

遇到了比较特殊的情况,目前进行代码整合会比较麻烦,所以需要在一个controller A中调用controller B的action, 这里不是简简单单的redirect或者是render, 只是在逻辑上需要执行controller B的action代码,view还是由A来render, 并且A中所有的全局变量也继承到B中, 下面是解决办法:
  def exeRedirect (options={})
    params.merge!(options)
    c = ActionController.const_get(Inflector.classify("#{params[:controller]}_controller")).new
    c.process(request,response)

    #如果需要当前的实例变量也由B来覆盖,那么开启下面一行, 并且在执行后需要调用return
    #c.instance_variables.each {|v| self.instance_variable_set(v,c.instance_variable_get(v))}
  end


  #在controlelr A中定义上面的方法然后调用:
  exeRedirect :controller => controllerB, :action => actionB

 

Tags: tips

2009-06-09 10:55:31, 1013 reviews, comment

send to mailbox

Your email:

Related Posts

几个rails tips

Performance Tuning for Linux Servers书笔记-Chap1

shell小技巧

Media change: please insert the disc labeled

在cron中执行一个控制器的action

TOP

Tags

json Impactjs Canvas fun gen_server superfly PS3 Webgame HTML5 jquery SSH tenerer MooseFS gearman-ruby Gearman MongoDB MochiChat TCP U-ka saegusa IN db command Mai Kuraki Norah Jones log iPhoneException ACG Mac Safari objective-c CouchDB LVS AJAX debian 推荐 AMQP google mail bug gettext Erlang 北京 iptables 架构 tips mysql backup function 我看 postfix 监控 SEO cache Etag memcache thread 进程 线程 无锡 yield file column mixboy xml rss gems ruby shitou shell lighttpd 安全 csrf 公司 nginx linux 模块 apache webserver 朋友 大学 生活 尼古拉斯凯奇 movie 文件同步 笑笑 歌词 auto complete plugin rails music ubuntu blog

Category

  • HTML5[3]
  • iPhone[17]
  • Erlang[11]
  • google[13]
  • 生活[45]
  • 音乐[13]
  • 电影[11]
  • linux[29]
  • web server[6]
  • mail server[3]
  • cluster[1]
  • system manage[9]
  • ruby[20]
  • ruby on rails[28]
  • 开源[4]

Episode

  • MongoDB
  • MochiChat
  • iPhoneException
  • shell
  • thread
  • memcache


Popular Posts

  • 准备开始学习Erlang了(恶狼, 二郎..)
  • Ruby遍历MemCached的key
  • 服务器监控小脚本
  • MySQL Innodb备份
  • [转载]5个有用的ruby gems

Recommended Posts

  • Tri-survive - HTML5 Game
  • Cut the rope - HTML5版
  • json_formatter
  • 在gen_server中spawn新的进程
  • Superfly - Wildflowers
  • 继续凸墙 for Mac OS
  • MongoDB Beijing 2011
  • MongoDB删除map_reduce生成的tmp collection
  • Mai Kuraki - Future Kiss
  • Erlang OOP
  • 用SSH tunnel凸墙
  • Google的语法高亮工具包
  • 大量数据的批量操作
  • 再次被和谐-_-
  • 十人族: 上线了

Friends' blogs

  • levy
  • sphance
  • andreas
  • yangkunlun
  • {:dev=>:wxianfeng}
  • bheye
  • joeydarko

Login

   注册

留言 查看留言

留言

   取消

留言 查看留言


Statistics

  • 访问次数: 317297
  • 今天访问: 105
  • 日志: 213
  • 评论: 4967
  • 音乐: 9
  • 用户: 1766


少年,不点下广告吗!

 

all by shitou

blog comments powered by Disqus

close