我试图创建一个非常简单的例子:一个控制器操作,该操作从模板中呈现静态JSON。
控制器:
defmodule MyApp.TestController do
use Phoenix.Controller
def show(conn, _params) do
render(conn, "show.json")
end
end
视图:
defmodule MyApp.TestView do
use MyApp.Web, :view
end
show.json.eex
:
{
"message": "Hello, world!"
}
问题是,我得到了正确的JSON响应,但是以JSON编码格式呈现:
"{\n \"message\": \"Hello, world!\"\n}"
有什么想法,如何解决?
/编辑:
我发现我可以通过将模板重命名为除了
json
以外的其他名称(当然还要显式设置响应类型)来解决问题,因此很明显JSON模板还被编码了。但是,为什么会这样,有人会想要这样做吗?