任何?对于has_many关联

时间:2016-05-01 12:09:41

标签: elixir phoenix-framework

我有一个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?。我怎么能在凤凰城做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以检查groups集合是否不是空列表,或使用Enum.empty?/1函数:

if @user.groups != [] do
  # ...
end

if not Enum.empty?(@user.groups) do
  # ...
end