如何在Rails中执行控制器/操作?

时间:2012-02-19 15:51:20

标签: ruby-on-rails ruby

是否可以从另一个操作中执行操作?

我正在寻找'redirect'和'render'之间的东西。我不想告诉浏览器使用'redirect'发出额外请求,'render'只会执行视图,而不是动作。

注意:我正在使用rails 3

@ ben-holland看看这个http://symfony.com/doc/current/book/controller.html#forwarding

1 个答案:

答案 0 :(得分:0)

将操作放在lib /文件中并将其包含在两个控制器中

#lib/foo_controller_includes.rb
module FooControllerIncludes
   def special_edit
      do_some_stuff!
      render :action=>"/full/path/to/file"
   end
end

#app/controllers/bar_controller.b
class BarController < ApplicationController
  include FooControllerIncludes

  def edit
     special_edit
  end
end