0

通常情况下还有另一种情况,传入respond_toa 时还有一种特殊情况,因此代码前面param[:top]还有另一种情况:respond_to

      respond_to do |format|
        format.html { render :top_page_analytics }
        format.json { render :json => @analytics }
        format.xml { render :xml => @analytics }
        return
      end

但是上面的代码实际上给出了一个奇怪的错误,因为缺少 json 模板,并进一步调试导致:

      respond_to do |format|
        format.html { render :top_page_analytics }
        format.json { render :json => @analytics }
        format.xml { render :xml => @analytics }
      end
      return

修复了这个错误。需要 return 以便不会出现“双重渲染错误”,因为程序将流向另一个respond_to. 但是我想知道奇怪的语法respond_to,看起来有点像 case 语句,可能会导致顶部的错误?

4

1 回答 1

1

回报不能去那里,因为你正在通过一个街区。该块不会在控制器操作的直接上下文中执行。当您从块返回时,您实际上是从函数 yield (respond_to) 返回,而不是控制器操作。

于 2010-09-16T21:03:59.223 回答