在Rails中,您可以直接呈现文本,例如render :text => 'OK'
Elixir / Phoenix中是否有快捷方式直接渲染文本,而无需定义模板或布局?
我找到的最短路是:
defmodule MyApp.PageController do
use MyApp.Web, :controller
def index(conn, _params) do
# the file ok.html.eex contains just the string OK
render conn, "ok.html", layout: false
end
end
是否有更短的方法来呈现“OK”,而无需提供模板文件“ok.html”?
答案 0 :(得分:32)
来自http://www.phoenixframework.org/docs/controllers:
渲染
控制器有几种呈现内容的方式。该 最简单的方法是使用
text/2
函数渲染一些纯文本 菲尼克斯提供的。让我们说我们有一个节目动作,它接收来自参数的id map,我们要做的就是返回一些带id的文本。为了那个原因, 我们可以做到以下几点。
def show(conn, %{"id" => id}) do text conn, "Showing id #{id}" end
答案 1 :(得分:2)
这是我在使用模板之前呈现文本以检查路线是否正常的方式。
def show(conn, _params) do
text conn, "Display OK"
end