Rails Ajax render 不使用 layout

macknight · February 15, 2015 · Last by macknight replied at February 26, 2015 · 2208 hits
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

You need to Sign in before reply, if you don't have an account, please Sign up first.