[Rails]”알림을 어떠한 방법으로 알리기”의 구현
공지사항

↑이런 느낌으로 읽지 않은 소식이 있으면, 빨간 점을 붙이는 것 같은 녀석을, javascript라든지, helper 파일의 액션을 사용하지 않고 구현하는 방법.
아직 알림 기능 자체를 구현하지 않은 분은 아래와 같은 알기 쉬운 기사를 참고로 구현합시다!
* htps : // 코 m / 고양이 r / ms / 80448944 에c9 아 네 48d0 아
* htps : // 이 m/유토_1014/이어서 ms/2db1d4fcd7945b980f7
상기의 기사로 도전했지만, 잘 안 된다, 라고 하는 나와 같은 문제를 안고 있는 분을 향해.
보려는 뷰에 연결되는 컨트롤러의 동작에 변수를 정의합니다.
events_controller.rb
def index
@notification = Notification.all
end
notifications 테이블의 정보를 가져옵니다.
[간단] html.erb에 설명을 추가하기만 하면 됩니다.
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>
■해설
<% @notification.each do |notification| %>
컨트롤러에서 정의한 @notification의 변수를 each 메소드를 사용해 통지 각각에 대해 처리가 행해지도록 한다.
블록 변수는 이번
notification
라고 했지만 무엇이든 OK.<% if (notification.visited_id == current_user.id) && notification.checked == false %>
<span class="material-icons">fiber_manual_record</span>
<% break %>
<% end %>
if 조건식을 사용하여
visited_id
또한, current_user.id
(notifications 테이블의 checked 컬럼)의 값이 false (읽지 않음)이면, 이하의 처리를 행한다.notification_checked
그렇지 않으면, 통지의 수만큼 처리가 반복되어 버리므로 주의.이상.
몇 번 해도 잘 가지 못했기 때문에, 나름대로 어레인지 해 보았습니다.
비고
current_user.id는 로그인하고 있는 유저를 취득하기 위한 gem 'devise'를 도입한 것으로 사용할 수 있게 되는 헬퍼 메소드입니다만, 로그인하고 있는 유저의 ID를 취득할 수 있으면 OK.
머티리얼 아이콘의 도입은 아래의 기사를 참고로 부디
Reference
이 문제에 관하여([Rails]”알림을 어떠한 방법으로 알리기”의 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takumi_murakami/items/967bfead19e0b9f27e09텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)