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) %>" />