Ich habe die Benachrichtigungsfunktion ausprobiert, aber aus irgendeinem Grund hat sie nicht funktioniert. __ __
↑ Wenn es eine solche ungelesene Benachrichtigung gibt, wie man so etwas wie das Hinzufügen eines roten Punkts implementiert, ohne Javascript oder die Aktion der Hilfsdatei zu verwenden.
Wenn Sie die Benachrichtigungsfunktion selbst noch nicht implementiert haben, können Sie sie anhand der folgenden leicht verständlichen Artikel implementieren.
Für diejenigen, die die gleichen Probleme wie ich haben, wie die Herausforderung im obigen Artikel, aber es funktioniert nicht.
events_controller.rb
def index
@notification = Notification.all
end
Informationen erhalten Sie in der Benachrichtigungstabelle.
event:index.html.erb
<div class="alert-header">
<%= link_to notifications_path do %>
<span class="material-icons" id="alert">notification_important</span>
<% @notification.each do |notification| %>
<% if (notification.visited_id == current_user.id) && notification.checked == false %>
<span class="material-icons" id="on-alert">fiber_manual_record</span>
<% break %>
<% end %>
<% end %>
<% end %>
</div>
■ Erklärung
<% @notification.each do |notification| %>
Verwenden Sie jede Methode, um die im Controller definierte Variable @notification für jede Benachrichtigung zu verarbeiten.
Die Blockvariable ist diesmal "Benachrichtigung", aber alles ist in Ordnung.
<% if (notification.visited_id == current_user.id) && notification.checked == false %>
<span class="material-icons">fiber_manual_record</span>
<% break %>
<% end %>
Unter Verwendung des if-bedingten Ausdrucks lautet "visit_id" (ID des kommentierten Benutzers) "current_user.id" (ID des aktuell angemeldeten Benutzers). Wenn der Wert von "notification_checked" (aktivierte Spalte der Benachrichtigungstabelle) falsch (ungelesen) ist, wird die folgende Verarbeitung ausgeführt.
Beachten Sie, dass der Vorgang so oft wiederholt wird, wie Sie benachrichtigt werden, wenn Sie ihn nicht auf "break" setzen.
das ist alles. Egal wie oft ich es ausprobiert habe, es hat nicht funktioniert, also habe ich es auf meine eigene Weise arrangiert.
current_user.id ist eine Hilfsmethode, die verwendet werden kann, indem gem'devise 'eingeführt wird, um den angemeldeten Benutzer abzurufen. Es ist jedoch in Ordnung, wenn Sie die ID des angemeldeten Benutzers abrufen können.
__ Informationen zur Einführung von Materialsymbolen finden Sie im folgenden Artikel __
Recommended Posts