如何为同一控制器中的所有操作呈现相同的视图?

时间:2013-02-26 19:25:27

标签: ruby-on-rails

我想在控制器中为我的所有动作渲染相同的视图。例如,我有:

class FooController 
  def action1
    #action1 code
  end

  # [...]

  def actionN
    #actionN code
  end 

end

然后我希望所有动作都呈现generic_page.html

我尝试过:

...
after_filter :render_generic

...
private 
  def render_generic
    render 'generic_page'
  end

但在render之前调用after_filter方法,我收到Template Missing错误,因为它没有呈现正确的模板。有谁知道这个问题的简单解决方案?

2 个答案:

答案 0 :(得分:6)

使用rescue_from

    class FooController
      rescue_from ActionView::MissingTemplate do
        render 'generic_page'
      end

    end

答案 1 :(得分:1)

我只是明确:

def action1
  #action1 code
  render_generic
end

def actionN
  #actionN code
  render_generic
end

private
  def render_generic
    render 'generic_page'
  end
相关问题