2
でいないレイアウトと私のエラービューをレンダリングすることができません:私はレイアウトすることなく、私のエラービューをレンダリングしたいフェニックス/エリクシール
defmodule MyApp.ErrorView do
use MyApp.Web, :view
def render("404.html", assigns) do # renders my_404.html.eex template
render(__MODULE__, "my_404.html")
end
とアクション:
def my_action(conn) do
if something_wrong do
conn
|> put_status(404)
|> render(MyApp.ErrorView, "404.html")
# conn
# |> put_status(404)
# |> put_layout(false)
# |> put_view(MyApp.ErrorView)
# |> render("404.html")
しかし、それは動作しません。私の主なアプリケーションテンプレートをレンダリングします。コードの2番目の部分のコメントを外して1番目のコメントをコメントアウトすると、永遠にハングして何も表示されません。
また、私は私が私のコントローラのすべての各アクションからput_layout(false)
を呼び出すためにしたくないので、私のErrorViewにlayout false
を設定できるようにしたいです。
'conn |> put_status(404)|> put_layout(false)|> render(MyApp.ErrorView、" 404.html ")'? – Dogbert
@Dogbert、私はそれを試みます。しかし、私は各アクションから 'put_layout(false)'を呼びたくないので、私は** ErrorView **にレイアウト(false)を入れたいと思っています。どうやってやるの? – Kooooro
@Dogbert、はい、うまくいきますが、これが欲しいです - それぞれのアクションからput_layout(false)を呼びたくないので、私はErrorViewにレイアウト(false)を入れたいと思っています。どうやってやるの?また、 – Kooooro