Elixir 如何获得多个关联中第一个的属性?

Elixir 如何获得多个关联中第一个的属性?,elixir,phoenix-framework,Elixir,Phoenix Framework,用户有许多电子邮件,电子邮件有一个属性md5sum。对于给定的用户@user,我希望在user\show中显示图像 模板中的以下代码不起作用: <img src="http://www.gravatar.com/avatar/<%= @user.emails.first.md5sum %>" /> web/models/user.ex defmodule MyApp.User do 使用MyApp.Web,:model 使用Arc.exto.Model 模式“用户”做什

用户
有许多
电子邮件
电子邮件
有一个属性
md5sum
。对于给定的用户
@user
,我希望在
user\show
中显示图像

模板中的以下代码不起作用:

<img src="http://www.gravatar.com/avatar/<%= @user.emails.first.md5sum %>" />
web/models/user.ex

defmodule MyApp.User do
使用MyApp.Web,:model
使用Arc.exto.Model
模式“用户”做什么
字段:名字,:字符串
字段:姓氏,:字符串
有很多:电子邮件,MyApp.Email
[...]
web/models/email.ex

defmodule MyApp.Email do
使用MyApp.Web,:model
模式“电子邮件”怎么办
字段:值,:字符串
字段:md5sum,:字符串
属于:用户,MyApp.user
[...]

如果有可用的电子邮件,则
电子邮件将是电子邮件列表

“/>
不起作用的原因是使用
可以访问地图上的属性。
电子邮件
是一个列表

您可以使用获取列表的第一个元素:

<img src="http://www.gravatar.com/avatar/<%= hd(@user.emails).md5sum %>"  />
<img src="<%= gravatar_url(@user) %>"  />
然后,您可以在模板中使用此选项:

“/>
<img src="<%= gravatar_url(@user) %>"  />