2016-07-24 53 views
0

在我app.html.eex文件我有:使用鳳凰藥劑使受讓人包括諧音

<%= assigns[:feet]%>

,並在我的控制,我有: def index(conn, _params) do render(conn, "index.html", feet: "feet.html") end 我想這樣做,所以我可以導入不同的子視圖中的不同腳部。例如:

def :edit(conn, _params) do render(conn, "edit.html", feet: "edit-feet.html") end 不幸的是,它只是打印「feet.html」而不是導入feet.html。

這是可能的一些如何?

回答

3

你需要調用Phoenix.View.render/3

<%= render YourView, @feet, [] %> 

如果設置feet是可選的,你不想使任何東西,如果它不存在,你可以這樣做:

<%= if feet = assigns[:feet] do %> 
    <%= render YourView, feet, [] %> 
<% end %> 

替換YourView與該視圖包含feet.htmledit-feet.html

如果需要任何assigns傳遞給這些模板,可以替換[]與要傳遞的值:

<%= render YourView, @feet, foo: "bar", baz: "quux" %> 
+0

' <(%)=如果英尺=受讓人[:英尺]做%> <%= render @view_module,@feet,assigns%> <% end %> ' 正是我所期待的。 – mchavezi

+0

@mchavezi迂迴評論:如果你使用'@ feet',你不需要'feet ='。或者你應該在'if'裏面使用'feet'。評論中的版本有一個未使用的變量。 – Dogbert