Ajax 全局覆盖渲染方法Sinatra中的默认布局选项
我正在使用AJAX从视图加载div内容。我想在我的erb方法if request.xhr中设置:layout=>false?这是真的。我有:Ajax 全局覆盖渲染方法Sinatra中的默认布局选项,ajax,sinatra,erb,Ajax,Sinatra,Erb,我正在使用AJAX从视图加载div内容。我想在我的erb方法if request.xhr中设置:layout=>false?这是真的。我有: get '/' do erb :index, :layout => !request.xhr? end 在我所有的路线上。。。但是这个(:layout=>!request.xhr?)变成了重复,我想把它擦干 你建议我如何补救?我应该打开Sinatra::Base并覆盖render方法吗?如果是,怎么做?有没有一种好方法可以编写一个before过
get '/' do
erb :index, :layout => !request.xhr?
end
在我所有的路线上。。。但是这个(:layout=>!request.xhr?)变成了重复,我想把它擦干
你建议我如何补救?我应该打开Sinatra::Base并覆盖render方法吗?如果是,怎么做?有没有一种好方法可以编写一个before过滤器来检查传入的请求是否是AJAX请求?我觉得我已经尽了我所能,但仍然没有得到所需的输出:layout=>false if request.xhr?是真的
如果您有任何想法,我们将不胜感激:)编写了一个助手方法来干涸代码(简单的解决方案,但我没有立即想到这一点): 现在,索引路由如下所示:
get '/' do
render_erb :index
end
编写了一个助手方法来干涸代码(简单的解决方案,困惑的是我没有立即想到这一点): 现在,索引路由如下所示:
get '/' do
render_erb :index
end
您也可以使用
之前的过滤器,或在配置中设置布局:
configure :production, :development do
set :layout, !request.xhr?
end
# or
before do
set :layout, !request.xhr?
end
您也可以使用之前的过滤器,或在配置中设置布局:
configure :production, :development do
set :layout, !request.xhr?
end
# or
before do
set :layout, !request.xhr?
end