Я хочу определить функцию рельсов (определение завершено?), Которая проверяет, был ли урок полностью просмотрен.(@ 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>