2016-05-01 8 views
0

私はUserモデルを持っていますhas_manygroupsです。私はいずれかが存在する場合、既存のgroupsをレンダリングしたいuser#showテンプレートで? 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 
[...] 

。もし存在しなければ、私は何も描画しません。

ウェブ/テンプレート/ユーザー/ 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 
関連する問題