只显示用户内容
Only show users content
我使用 Devise 让用户通过 Facebook 登录或在我的网站上创建一个帐户。当他们登录时,他们可以将电影添加到他们的首页,问题是每个用户都可以看到所有电影,而不仅仅是他们添加的电影。
在我的 movies_controller.rb 我有,
def index
respond_with Movie.all
end
我的movie.rb模型有
belongs_to :user
我的 user.rb 模型有
has_many :movies
两个问题,目前我正在使用 Movie.all
,它显然显示所有电影,仅显示用户创建的电影的正确语法是什么。第二个问题,电影记录中是否需要插入users id?
我使用Angular作为我的前端框架,
控制器,
$scope.addMovie = function() {
movies.create({
title: $(event.currentTarget).parent().find('.title').text()
}).then(init);
};
还有服务,
.factory('movies', ['$http', function($http){
return{
create: function(movie){
return $http.post('/movies.json', movie);
}
};
}]);
在您的索引方法中,您正在获取所有电影。尝试仅获取 current_user 部电影。
def index
respond_with current_user.movies
end
对于第二个问题:你应该在电影 table 中添加 user_id。否则无法获取用户的电影列表。
作为数据库标准,belongs_to :xyz
应始终作为 xyz_id
出现在数据库中以获取所有子记录。
按照 Dipak 的建议,您可以获得
1. Movie.all
的所有电影
2.当前用户电影来自Movie.all
您肯定需要 Movies 中的用户 ID,以便将电影与用户
相关联
我使用 Devise 让用户通过 Facebook 登录或在我的网站上创建一个帐户。当他们登录时,他们可以将电影添加到他们的首页,问题是每个用户都可以看到所有电影,而不仅仅是他们添加的电影。
在我的 movies_controller.rb 我有,
def index
respond_with Movie.all
end
我的movie.rb模型有
belongs_to :user
我的 user.rb 模型有
has_many :movies
两个问题,目前我正在使用 Movie.all
,它显然显示所有电影,仅显示用户创建的电影的正确语法是什么。第二个问题,电影记录中是否需要插入users id?
我使用Angular作为我的前端框架,
控制器,
$scope.addMovie = function() {
movies.create({
title: $(event.currentTarget).parent().find('.title').text()
}).then(init);
};
还有服务,
.factory('movies', ['$http', function($http){
return{
create: function(movie){
return $http.post('/movies.json', movie);
}
};
}]);
在您的索引方法中,您正在获取所有电影。尝试仅获取 current_user 部电影。
def index
respond_with current_user.movies
end
对于第二个问题:你应该在电影 table 中添加 user_id。否则无法获取用户的电影列表。
作为数据库标准,belongs_to :xyz
应始终作为 xyz_id
出现在数据库中以获取所有子记录。
按照 Dipak 的建议,您可以获得
1. Movie.all
的所有电影
2.当前用户电影来自Movie.all
您肯定需要 Movies 中的用户 ID,以便将电影与用户