У меня есть 2 таблицы, один называется фильмы и один называется пользователей. Пользователь может добавить фильм в свой список наблюдения. Когда пользователь делает это, приложение создает новую запись в моей таблице фильмов с именем фильма, идентификатором, датой выпуска и т.д. Таким образом, возможно иметь 3 записи одного и того же фильма. Но все с разными идентификаторами пользователя. Это не предпочтительнее.
Поэтому я пытаюсь выяснить, как проверить, существует ли запись (фильм с значением movie_id
). Если фильм уже существует, добавьте текущий идентификатор user id
кодовое имя user id
чтобы несколько пользователей могли использовать одну и ту же видеозапись. Если он еще не существует, создайте новую запись.
Это моя текущая функция создания в моем контроллере movie.rb,
def create
respond_with Movie.create(movie_params.merge(user_id: current_user.id))
end
И в моей модели фильмов у меня есть,
belongs_to :user
И я использую Angular в качестве моей front-end framework, поэтому это моя угловая функция addMovie,
movieAdd.add()
.then(function(response){
$scope.movieListID = response;
console.log ('Not empty' + $scope.movieListID)
for (var i = 0; i < $scope.movieListID.releases.countries.length; i++) {
var release = $scope.movieListID.releases.countries[i];
if (release['iso_3166_1'] == 'NL') {
releaseNL = release;
}
}
if(typeof releaseNL === 'undefined'){
// With release date
Notification($scope.movieListID.original_title + ' is toegevoegd, maar heeft nog geen Nederlandse premiere datum.');
createMovie.create({
title: $scope.movieListID.original_title,
release_date: $scope.movieListID.release_date,
image: $scope.movieListID.poster_path,
movie_id: $scope.movieListID.id
}).then(init);
} else {
Notification.success($scope.movieListID.original_title + ' is toegevoegd.');
createMovie.create({
title: $scope.movieListID.original_title,
release_date: releaseNL.release_date,
image: $scope.movieListID.poster_path,
movie_id: $scope.movieListID.id
}).then(init);
};
})
Вы можете найти информацию о has-and-belongs-to-many и иметь-многие через отношения здесь. Я бы использовал один из этих двух методов для настройки отношений между пользователями и фильмами. Тогда, я думаю, в функции фильма вы бы: