当前位置:  开发笔记 > 编程语言 > 正文

在Rails中更改controller.action_name

如何解决《在Rails中更改controller.action_name》经验,为你挑选了1个好方法。

我在Rails上有一个动作,但我希望继续从另一个动作中进行处理.我的代码看起来像这样:

  send(new_action)                #call the new_action method
  action_name = new_action        #change the controller.action_name
  render :action => new_action    #inform the view that we're in new_action

这工作,但action_name - 虽然它从ActionController实例中更改 - 在从视图中检索时被重置

controller.action_name 

有没有办法设置它并让它坚持下去?

编辑:我找到了另一个不涉及这个问题的解决方案,就在这里.谢谢!



1> womble..:

你做错了!

在ActionPack内部的这种摆弄几乎可以保证迟早会让你感到悲痛.不能保证那些内部版本不会在版本之间发生根本变化,很难维护(对于你自己和他人),因为你完全忘记它正在做什么以及为什么这样做,而且真正有可能引入微妙的错误.

相反,采用两个操作共同的代码并将其放入一个通用方法,如控制器中的私有方法,模型中的更多逻辑,或者,如果需要,在控制器的继承链中更高的公共函数.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有