Я хочу создать модель View
, которая создается, когда пользователь заканчивает просмотр урока.Модель должна иметь идентификатор курса и атрибут идентификатора пользователя.Но Ajax не создает модель представления после просмотра урока:
application.js:
$('#video').onended(function() {
$.ajax({
url: '/views/new'
type: 'post'
});
});
Контроллер представлений:
def create
@view = current_user.views.build
@view.lesson = Lesson.find(params[:lesson_id])
end
Просмотр миграции:
def change
create_table :views do |t|
t.integer :lesson_id
t.integer :user_id
t.timestamps
end
end
Просмотр модели:
belongs_to :user
belongs_to :lesson
Модель пользователя:
has_many :views
Модель урока:
has_many :views
Маршруты:
post 'views/new' => 'views#create'
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>