响应与布局中的所有HTML请求(Respond to all HTML requests with

2019-09-19 23:58发布

我的工作是将使用其自己的路由功能,客户端框架Rails应用程序。 我想用pushState的路由,所以Rails的路由器需要进行配置,以这样的请求(很容易做到)作出回应。

有没有一种简单的方法来设置与要回应只是一个布局的有效路由所有的HTML请求,而不必弄乱我的意见文件夹了一堆空白action.html.erb文件?

Answer 1:

这里有一个办法拦截请求的有效途径和渲染为每个非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

我想这你想要做什么,对不对?



Answer 2:

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


文章来源: Respond to all HTML requests with layout