我需要在项目的一部分上使用will_paginate gem,但据我所知,它只能直接在数据库对象上运行。但是我无法弄清楚这一个ActiveRecord对我的生活。
我有三张桌子:
function GetAdministratorsInformation() {
$.ajax({
type: "GET",
url: AddURLParam.AddGetAdminInformationURL,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data, textStatus, jqXHR) {
GetAdministratorData(data);
}
})
}
用户可以对众多电影进行投票,并且可以上传自己的电影。我需要返回当前用户投票的独特电影标题。同样重要的是要注意用户可以多次对同一部电影进行投票。
我可以直接红宝石做到没问题:
function GetAdministratorData(admindata) {
administratorName = admindata.administratorName,
dateCreated = admindata.dateCreated,
createdBy = admindata.createdBy
}
但ActiveRecord是一个谜。
提前感谢您的帮助!
答案 0 :(得分:0)
假设每个用户只能对一次给定的电影进行一次投票..那么既然你有了关联,我就会得到用户,用户投票并加入电影。
current_user.votes.joins(:movie).paginate(:page => params[:page])
这将提供一个可以使用will_paginate方法的活动记录关系..
current_user.movies.joins(:votes).uniq
修改的
因为在您的情况下,用户可以多次投票,所以反向查询更容易,并将投票加入user.movies并调用uniq。像这样:
overflow:hidden;