我正在查看一个代码,该代码在它的一个控制器中,在它的一个操作方法中首先调用一个服务来获取 JSON,将它放在一个json_data
变量中,至于下一个和最后一个命令说render json: json_data
但我无法理解之后会发生什么?运行的下一行代码是什么?
我正在查看一个代码,该代码在它的一个控制器中,在它的一个操作方法中首先调用一个服务来获取 JSON,将它放在一个json_data
变量中,至于下一个和最后一个命令说render json: json_data
但我无法理解之后会发生什么?运行的下一行代码是什么?
render json: json_data
实际上是函数中执行的最后一条语句。执行后,该函数自动退出。
每当在 Rails 控制器中“渲染”某些东西时,无论是动作、模板还是其他,渲染都是控制器函数中最终执行的语句。
在 , 的情况下render json: json_data
,将通过定义的任何方法ActionController
呈现传递的参数, 。json_data
在本例中,它是 JSON,因此 Rails 以 JSON 格式将内容呈现json_data
给浏览器,并带有相应的标头。相比之下,如果语句是render text: json_data
,则 ActionController 会将 的内容json_data
作为文本发送到浏览器。
您可能想查看关于 的规范 Rails 指南文档render
,其中提供了几个可以在控制器操作的上下文中调用的示例。