Ich habe gerade eine Tabelle, die eine Reihe von Attributen des Benutzers anzeigt. Hier ist mein Problem. Jede Person hat die Möglichkeit, sich bei einer Gruppe anzumelden, aber in einigen Grenzfällen kann eine Person in die Tabelle gelangen, ohne sich einer Gruppe zu unterstellen. Aus Gründen der Klarheit für die Benutzer, die die Tabelle lesen, möchte ich einfach jede Person, die nicht zu einer Gruppe angemeldet ist, aus der Tabelle verstecken. Das ist ein bisschen schwieriger, als ich erwartet habe. Ich zeige etwas Code und einen Screenshot zum besseren Verständnis.Informationen in der Datenbank in der Ansicht ausblenden. - Rails
wie Sie sehen können, wenn eine Person keine Gruppe hat nicht in der Tabelle angezeigt werden soll.
Ich versuche, eine Methode zu machen und es auf dem Controller aufzurufen, der die Tabelle rendert. Die Person und Gruppe sind zwei verschiedene Modelle mit einer Assoziation von HABTM. Wie sage ich "in Ruby", wenn die Person keine Gruppen in der Tabelle anzeigt?
def index
@people = Person.order(sort_column => sort_direction)
@groups = Group.all
end
Dies ist die Steuerung, die die Tabelle
class Person < ActiveRecord::Base
has_many :deliveries
has_and_belongs_to_many :groups
macht
class Group < ActiveRecord::Base
has_and_belongs_to_many :people
has_and_belongs_to_many :messages
end
perons Modell
<table class="table table-striped">
<thead>
<tr>
<th><%= sortable 'phone_number', 'Phone Number'%></th>
<th><%= sortable 'subscribed', 'Subscribed'%></th>
<th><%= sortable 'city' %></th>
<th><%= sortable 'state' %></th>
<th><%= sortable 'zip' %></th>
<th><%= sortable 'country' %></th>
<th><%= sortable 'created_at', "Joined" %></th>
<th>Groups</th>
</tr>
</thead>
<tbody>
<% @people.each do |person| %>
<tr>
<td><%= person.phone_number %></td>
<td><%= person.subscribed? ? "Yes" : "No" %></td>
<td><%= person.city %></td>
<td><%= person.state %></td>
<td><%= person.zip %></td>
<td><%= person.country %></td>
<td><%= time_ago_in_words person.created_at %> ago</td>
<td><%= person.groups.order(:id).pluck(:name).to_sentence %></td>
</tr>
<% end %>
</tbody>
Gruppenmodell
können Sie uns zeigen Sie Ihre Ansicht (?, wo Sie eine Schleife durch Menschen - ich nehme an)? – Anthony
Wenn Sie eine Verbindung zwischen Gruppe und Person haben, können Sie das auch zeigen? – sahil