在我的 app.html.eex 文件中,我有:
<%= assigns[:feet]%>
在我的 Controller 中我有:
def index(conn, _params) do
render(conn, "index.html", feet: "feet.html")
end
我想这样做,这样我就可以在不同的 subview 中导入不同的脚。例如:
def :edit(conn, _params) do
render(conn, "edit.html", feet: "edit-feet.html")
end
不幸的是,它只是打印“feet.html”而不是导入foot.html。
这可能如何实现?
最佳答案
您需要调用Phoenix.View.render/3
:
<%= render YourView, @feet, [] %>
如果设置 feet
是可选的,并且您不想渲染任何不存在的内容,则可以执行以下操作:
<%= if feet = assigns[:feet] do %>
<%= render YourView, feet, [] %>
<% end %>
将 YourView
替换为包含 feet.html
和 edit-feet.html
的 View 。
如果您需要将任何分配
传递给这些模板,您可以将[]
替换为您想要传递的值:
<%= render YourView, @feet, foo: "bar", baz: "quux" %>
关于elixir - 使用 Phoenix Elixir 渲染指定包含部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38547828/