我有一个User
模型has_many
groups
。
网络/模型/ user.ex
defmodule MyApp.User do
use MyApp.Web, :model
use Arc.Ecto.Model
schema "users" do
field :first_name, :string
field :last_name, :string
has_many :groups, MyApp.Group
[...]
在user#show
模板中,我想呈现现有的groups
(如果有的话)。如果没有,我想什么都不做。
网络/模板/用户/ show.html.eex
[...]
<%= if @user.groups do %>
<h2>Groups</h2>
<ul>
<%= for group <- @user.groups do %>
<li><%= group.name %></li>
<% end %>
</ul>
<% end %>
[...]
但这不起作用。在Rails中我会使用@user.groups.any?
。我怎么能在凤凰城做到这一点?
答案 0 :(得分:1)
您可以检查groups集合是否不是空列表,或使用Enum.empty?/1
函数:
if @user.groups != [] do
# ...
end
if not Enum.empty?(@user.groups) do
# ...
end