Существует другой respond_to
для обычного случая и особый случай, когда передается 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
, который исправляет ошибку. Возврат необходим для того, чтобы не было «двойной ошибки рендеринга», поскольку программа перенаправится на другой respond_to
. Но мне интересно, странный синтаксис respond_to
, похожий на оператор case, может вызвать ошибку, подобную этой наверху?