2016-05-01 2 views
0

У меня есть модель User, которая has_manygroups.какой-нибудь? для ассоциации has_many

веб/модели/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

Вы можете проверить, если коллекция группы не пустой список или использовать Enum.empty?/1 функцию:

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

if not Enum.empty?(@user.groups) do 
    # ... 
end 
Смежные вопросы