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.html」を提供せずに「OK」をレンダリングするより短い方法はありますか?
から http://www.phoenixframework.org/docs/controllers :
レンダリング
コントローラには、コンテンツをレンダリングするいくつかの方法があります。最も簡単なのは、Phoenixが提供する
text/2
関数を使用してプレーンテキストをレンダリングすることです。ParamsマップからIDを受け取るshowアクションがあり、IDを含むテキストを返すだけだとします。そのために、次のことができます。
def show(conn, %{"id" => id}) do text conn, "Showing id #{id}" end
これは、テンプレートを使用する前に、テキストをレンダリングしてルートが機能しているかどうかを確認する方法です。
def show(conn, _params) do
text conn, "Display OK"
end