在模板中显示结构的每个元素

Kam*_*han 2 elixir phoenix-framework

我对长生不老药/凤凰很陌生。我试图做的就是渲染一个带有查询结果的模板,并在视图中显示查询的所有记录。为此,我在模板中添加了以下代码:

<% Enum.each(@items, fn(item) -> %>                                                                                                                                                      
  <%= item.name %>                                                                                                                                                                        
<% end) %>  
Run Code Online (Sandbox Code Playgroud)

在这里,我@items从我的控制器传递过来。这段代码给了我一个空白页。我也没有看到任何错误。但是,如果我更改<%= item.name %>为,<%= IO.puts item.name %>我会看到服务器控制台中显示的所有名称。

我应该如何解决这个问题?

Boz*_*zak 5

您需要使用,map因为它返回值。并<%=在一开始就投入。

<%= Enum.map(@items, fn(item) -> %>                                                                                                                                                      
  <%= item.name %>                                                                                                                                                                        
<% end) %>  
Run Code Online (Sandbox Code Playgroud)

更多细节在这里:https : //hexdocs.pm/phoenix/templates.html