2

我想在控制器中为我的所有操作呈现相同的视图。例如,我有:

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错误,因为它没有呈现正确的模板。有谁知道这个问题的简单解决方案?

4

2 回答 2

6

使用rescue_from

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

    end
于 2015-04-07T20:53:39.480 回答
2

I would just be explicit:

def action1
  #action1 code
  render_generic
end

def actionN
  #actionN code
  render_generic
end

private
  def render_generic
    render 'generic_page'
  end
于 2013-02-26T19:41:58.713 回答