使用活动存储显示的视频观看次数

问题描述 投票:0回答:1

使用active storage我将视频存储在“课程”模型中;

class Lesson
   has_one_attached :video
end

显示此代码;

<div class='feed'>
  <%= render partial: 'lesson', collection: @lessons, cached: true %>
</div>

部分是;

<% cache lesson do %>
    <div class="video_size">
       <video controls class='video_size'>
          <source src=<%= rails_blob_path(lesson.video) %> type='video/mp4' />
       </video>
     </div>
<% end -%>

我想存储实际观看每个视频的频率计数。我该怎么做?

ruby-on-rails rails-activestorage
1个回答
0
投票

Rails主要使用两个表来管理active_storageactive_storage_attachmentsactive_storage_blobshere's a sample of what the tables look like

因此,您需要创建一个新表来存储每个视频的观看次数,其中包含2个字段:

  • [views_countinteger
  • [active_storage_attachment_idreferences

您可以为课程上载附件,as outlined here。例如

@lessons = Lesson.with_attached_video

这将同时加载作为video_attachment记录的active_storage_attachments及其关联的blob。您可以使用lesson.video_attachment.id为新创建的表中的相应附件更新views_count

© www.soinside.com 2019 - 2024. All rights reserved.