Как проверить, было ли видео активного хранилища полностью просмотрено в рельсах? - PullRequest
0 голосов
/ 10 мая 2019

Я хочу определить функцию рельсов (определение завершено?), Которая проверяет, был ли урок полностью просмотрен.(@ lesson.completed? должен возвращать true, если пользователь просмотрел его полностью, и false, если он этого не делал)

В настоящее время я определил функцию JS, которая предупреждает пользователя о завершении урока.Но я не знаю, как определить функцию rails, которая возвращает, если пользователь посмотрел видео.

Модель урока:

class Lesson < ApplicationRecord
  belongs_to :course
  has_one_attached :file
  default_scope -> { order(created_at: :desc) }
  validates :course_id, presence: true
  validates :name, presence: true
end

Миграция урока:

class CreateLessons < ActiveRecord::Migration[5.1]
  def change
    create_table :lessons do |t|
      t.text :name
      t.references :course, foreign_key: true

      t.timestamps
    end
    add_index :lessons, [:course_id, :created_at]
  end
end

Lessons / Show.html.erb:

<h2><%= @lesson.name %></h2>
<video id="video" controls="true" width="auto" height="auto">
 <source src="<%= url_for(@lesson.file) %>" type='video/mp4'>
</video>
<script>document.getElementById("video").addEventListener("ended", function(){alert("all done")}, true);
</script>
...