使用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 -%>
我想存储实际观看每个视频的频率计数。我该怎么做?
Rails主要使用两个表来管理active_storage
:active_storage_attachments
和active_storage_blobs
(here's a sample of what the tables look like)
因此,您需要创建一个新表来存储每个视频的观看次数,其中包含2个字段:
views_count
:integer
active_storage_attachment_id
:references
您可以为课程上载附件,as outlined here。例如
@lessons = Lesson.with_attached_video
这将同时加载作为video_attachment
记录的active_storage_attachments
及其关联的blob
。您可以使用lesson.video_attachment.id
为新创建的表中的相应附件更新views_count
。