我正在开发一个 Rails 应用程序,该应用程序将使用具有自己的路由功能的客户端框架。我想使用 pushState 路由,因此需要配置 Rails 路由器以响应此类请求(很简单)。
有没有一种简单的方法来设置所有 HTML 请求,其中包含一个有效的路由,只需一个布局就可以响应,而不必用一堆空白action.html.erb
文件弄乱我的视图文件夹?
我正在开发一个 Rails 应用程序,该应用程序将使用具有自己的路由功能的客户端框架。我想使用 pushState 路由,因此需要配置 Rails 路由器以响应此类请求(很简单)。
有没有一种简单的方法来设置所有 HTML 请求,其中包含一个有效的路由,只需一个布局就可以响应,而不必用一堆空白action.html.erb
文件弄乱我的视图文件夹?
这是一种拦截对有效路由的请求并为每个非 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
我认为这可以满足您的要求,对吗?
def my_action
respond_to do |format|
format.html { render 'my_unified_view' }
end