Как обновить атрибут записи после ее загрузки в представлении? - PullRequest
0 голосов
/ 16 января 2020

В моем приложении пользователь может иметь группу с множеством предупреждений. Когда создается предупреждение, оно имеет атрибут t.boolean "read", default: false, который я хочу установить в true, как только пользователи его увидят.

У меня есть следующее:

groups_controller.rb

class GroupsController < ApplicationController
  def index
    @groups = current_user.groups.includes(:alerts, :new_alerts)
  end
end

index. html .erb

<% @groups.each do |group| %>
  <% group.alerts.limit(5).each do |alert| %>
     <% if alert.unread? %>
        <span class="badge pending-status">New</span>
     <% end %>
     ...
  <% end %>
<% end %>

И в show. html .erb в группе я показываю все оповещения. Я хочу знать, можно ли пометить эти 5 в index. html .erb как прочитанные после их загрузки в представление? Поэтому, если у меня 5 предупреждений и 3 непрочитанных, я хочу, чтобы 3 отображались как Новые, но как только страница обновится sh или show. html .erb , они будут показывал чтение.

Есть предложения?

Я возился с идеей иметь вместо этого атрибут read как целое число со значением по умолчанию 0 и при первой загрузке alert.update(read: 1) и тогда предупреждения с read > 2 будут непрочитанными.

Что вы думаете об этом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...