使用布局响应所有HTML请求

时间:2012-07-21 13:56:41

标签: ruby-on-rails ruby-on-rails-3 routes ruby-on-rails-3.2

我正在开发一个Rails应用程序,该应用程序将使用具有自己的路由功能的客户端框架。我想使用pushState路由,因此需要配置Rails路由器来响应这些请求(很容易)。

是否有一种简单的方法可以设置所有带有有效路径的HTML请求,只需使用布局进行响应,而不必使用一堆空白action.html.erb文件来混淆我的视图文件夹?

2 个答案:

答案 0 :(得分:2)

这是一种截取有效路由请求并为每个非Ajax请求呈现视图的方法:

应用/控制器/ application_controller.rb:

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :render_default_view

  # ...

  private

  def render_default_view
    return if request.xhr?
    respond_to do |format|
      format.html { render 'public/default_view.html', :layout => nil }
    end
  end
end

我认为这样做你想要的,对吧?

答案 1 :(得分:1)

def my_action
 respond_to do |format|
   format.html { render 'my_unified_view' }
 end