我目前有User
个具有name
属性的模型,并且正在使用ajax来获取所选数据。
JS看起来像这样:
$("#save").click(function(){
var checkedUser = [];
$.each($("input[name='selected_user']:checked"), function(){
checkedUser.push($(this).val());
});
$.ajax({
type: "POST",
url: "/users/<%= current_user.id %>/friend",
data: {checked_user: checkedUser},
})
控制器动作:
def friend
user = User.find(params[:user_id])
checked_user = params[:checked_user]
@user = User.where(id: checked_user)
end
我想构建一个功能,可以根据复选框的输入来更新数据记录,并希望给出时间范围。
例如,如果有一个用户并且有一个朋友列表,并且用户检查了朋友“ A”并提交,则朋友A不应在用户的朋友列表中显示为已设置的时间段(可以是24小时或10小时),等到时间到了,我希望他们再次回到列表中,就像这样:
用户->将朋友A设置为不显示10分钟->在朋友列表中选中显示朋友A-> 10分钟后->朋友A再次显示。
Q1)我是否应该创建一个具有布尔类型的新属性,然后更新该属性?还是有更好的方法做到这一点?
Q2)如何处理类似10分钟后取消选中已检查用户的情况,我应该使用JS吗?
答案 0 :(得分:0)
1)我将添加两个属性,duration
和checked_at
,或者仅仅是一个类似expires_at
的属性。这将使#2更容易。
2)您将要使用工作程序安排定期的background job,用它来删除所有过期的条目。