2012-07-21 20 views
0

我正在使用具有自己的路由功能的客戶端框架的Rails應用程序。我想使用pushState路由,所以Rails路由器需要配置爲響應這些請求(很簡單)。迴應所有與佈局的HTML請求

有沒有一種簡單的方法來設置所有的HTML請求與一個有效的路由,只需要一個佈局,而不必混亂我的意見文件夾與一堆空白action.html.erb文件?

回答

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

謝謝,但有沒有更乾的方式來做到這一點? – user1539664 2012-07-21 14:13:21

+0

您可以將respond_to塊放入ApplicationController中的方法中,並在操作結束時調用它。我確定有一些東西你可以用猴子補丁來渲染你的視圖,而不是默認的action.html模板,但是這似乎有點過分。 – cpuguy83 2012-07-21 14:51:25

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 

我想這是你想要的,對吧?