9

Phoenix中,有什么方法可以指定使用哪个View而不是让Controller命名空间变形?

我有多个控制器,对于每个控制器的视图,方法都是相同的。我想创建一个视图并将它与(几乎)我所有的控制器一起使用。

这可能吗?更重要的是,在我的情况下,这是一种不好的做法还是合理的?

4

1 回答 1

16

您可以使用put_view/2设置视图模块。鉴于您的描述,这不是坏习惯。您可以将以下代码放入控制器中:

plug :put_view, MyApp.TheView

或者您可以修改控制器内单个功能的视图,例如:

  def index(conn, _params) do
    conn
    |> put_view(MyApp.TheView)
    |> render("index.html")
  end
于 2015-07-02T19:44:47.943 回答