Ruby on rails Rails:记录更新时的时间锁定
我想对特定记录的更新进行时间锁定。我使用的是acts_as_votable gem,只允许每3或5分钟进行一次投票 每当记录通过upvote更新时,处的列Ruby on rails Rails:记录更新时的时间锁定,ruby-on-rails,Ruby On Rails,我想对特定记录的更新进行时间锁定。我使用的是acts_as_votable gem,只允许每3或5分钟进行一次投票 每当记录通过upvote更新时,处的列updated\u将获得一个新的时间戳 我试图通过验证(或者在保存之前更好地?)和模型中的代码片段来实现这一点: 错误。如果self.updated\u在
updated\u将获得一个新的时间戳
我试图通过验证(或者在保存之前更好地?)和模型中的代码片段来实现这一点:
错误。如果self.updated\u在<(DateTime.now-5.minutes)
但这实际上不起作用。你们有什么想法吗
提前谢谢 您需要与保存的值进行比较,而不是与新值进行比较。
试着这样做:
self.updated_at_was < (DateTime.now - 5.minutes)
self.updated_at_was<(DateTime.now-5.分钟)
您需要与保存的值进行比较,而不是与新值进行比较。
试着这样做:
self.updated_at_was < (DateTime.now - 5.minutes)
self.updated_at_was<(DateTime.now-5.分钟)
据我在[1]代码中看到的情况,每次有新记录时,投票都会保存为关系。因此,尝试使用更新的_是无用的
作为变化的指示器
您应该通过请求投票表获取最新的投票来尝试查找最新的投票
重要的信息,然后采取行动
[1] 据我在[1]代码中看到的情况,每次有新记录时,投票都将保存为关系。因此,尝试使用更新的_是无用的
作为变化的指示器
您应该通过请求投票表获取最新的投票来尝试查找最新的投票
重要的信息,然后采取行动
[1] Hello在验证时采用自定义方法,并使用字段\u name\u was
方法从db获取以前的值
在我们将要编写的验证中调用一个方法
验证:在验证时更新
def在验证时更新
旧的日期=自我更新的日期
如果旧日期>(DateTime.now-5分钟)
错误。添加(:在“5分钟内无法更改”处更新)
终止
结束
Hello在验证时使用自定义方法,并使用field\u name\u was
方法从db获取以前的值
在我们将要编写的验证中调用一个方法
验证:在验证时更新
def在验证时更新
旧的日期=自我更新的日期
如果旧日期>(DateTime.now-5分钟)
错误。添加(:在“5分钟内无法更改”处更新)
终止
结束
奇怪,但更新的\u在每次都会更新。奇怪,但更新的\u在每次都会更新。您能否尝试比较更新的\u在
和更新的\u在
。应该有区别。你能试着比较一下updated\u at
和updated\u at\u was
吗。应该有区别。请提供更多关于您使用的型号的信息。您将错误设置在哪里
您可能(和答案可能)将
时,您希望触发错误。Hai@harakiri,您是否反转了条件?请提供有关您正在使用的型号的更多信息。您将错误设置在哪里
您可能(和答案可能)将
时,您希望触发错误。Hai@harakiri,您是否已反转该条件?谢谢您的帮助!谢谢你帮了大忙!