Rails Ajax render 不使用 layout

macknight · 2015年02月15日 · 最后由 macknight 回复于 2015年02月26日 · 2217 次阅读
if request.xhr?
        format.html { render layout: false}
else
        xxxxxxxx
end

为何我 ajax 获取的 partial view,最后还是带了 layout 里面的东西? 我这里设置了 render 不用 layout 的,可是为何还是有呢?


注:找到问题了,我的代码写在了两个 controller 里~应该把这段话加在另一个 controller 里...

xhr? 然后 format.html,这结果我无法预测啊。

#1 楼 @Rei 多谢大神哈,是我自己搞错了,我是有两个 controller,应该写在另一个 controller 里才对~

xhr? 是很古老的写法了,现在写法是:

respond_to do |format|
  format.html { }
  format.js { }
end

xhr 走的就是 format.js 的 block。

#3 楼 @Rei 顺序要换下才有用 respond_to do |format| format.js { } format.html { } end

需要 登录 后方可回复, 如果你还没有账号请 注册新账号