web-dev-qa-db-ja.com

Elixir / Phoenixで「OK」をレンダリングするための最もミニマルな方法は何ですか?

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」をレンダリングするより短い方法はありますか?

17
Tilo

から 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
33
user94559

これは、テンプレートを使用する前に、テキストをレンダリングしてルートが機能しているかどうかを確認する方法です。

def show(conn, _params) do
  text conn, "Display OK"
end
2