我有一个拥有许多模型的现有应用。我想记录创建它们的用户的IP地址,其主要目的是帮助清除垃圾邮件发送者或其他滥用用户(如果我不知道他们使用的是什么IP地址,我可以阻止它。我需要随着时间的推移跟踪这些,因为用户可以从家里,办公室,他们的电话等访问,我想看看使用模式。绘制用户访问的位置或其他内容也可能很有趣,但目前任何副作用都是纯粹的思想。
我们使用基于cookie的方法来存储用户会话。
我可以想到两种方法(我会将它们创建为回复,以便人们可以投票):
思考?还有更好的方法吗?插件这样做?谢谢!
答案 0 :(得分:2)
使用观察者或after_save回调调用的某种Logger模型
优点:
缺点:
答案 1 :(得分:2)
我会为此使用多态关联,然后您可以将其应用于需要跟踪的所有模型。这样可以将每个模型的IP地址列添加到最小程度,并大大减少代码库中的重复数量。然后走观察路线可能是连接模型的最简单方法。
答案 2 :(得分:1)
为每个模型添加IP地址属性,并在
中传递优点:
缺点: