我需要找到一种方法来跟踪模型属性从一种状态更改为另一种状态的特定时刻。
List
的模型
voting_status
,可以是true
或false
。true
到false
的按钮,以便其他用户可以开始投票。voting_status
会更改回来
其他用户不能再投票,即使他们没有机会在第一时间投票。if
语句,检查用户是否在所有者点击按钮之间进行了投票,现在又通过使用我调用Vote
的另一个模型进行投票,该模型跟踪用户投票和投票的项目。
vote = Vote.find_by(user_id: 4)
list = List.find(5)
if vote.created_at is_between list.voting_status_changed?(from: true, to: false).when..DateTime.now
user cannot vote
else
user can vote
end
when
方法或类似内容,从而更新了该属性。有什么想法吗?谢谢。
答案 0 :(得分:2)
答案 1 :(得分:0)
有可审计的宝石,可以帮到你。虽然还有很多其他类似的功能,但请参阅相关部分https://www.ruby-toolbox.com/projects/auditable