我有一个现有的应用程序,它有很多很多模型。我想记录创建它们的用户的 IP 地址,主要目的是帮助清除垃圾邮件发送者或其他滥用用户的方法(如果我不知道他们使用的 IP 地址,我可以'阻止它)。随着时间的推移,我需要跟踪这些内容,因为用户可能会从家里、办公室、他们的电话等访问,我想查看使用模式。绘制出用户访问的位置或其他内容可能也很有趣,但此时任何副作用都纯粹是想法。
我们使用基于 cookie 的方法来存储用户 session 。
我可以想到两种方法(我将创建它们作为回复以便人们可以投票):
- 为每个模型添加IP地址属性,并传入
- 使用观察者或 after_save 回调调用的某种 Logger 模型
想法?有更好的方法吗?做这个的插件?谢谢!!
最佳答案
我会为此使用多态关联,然后您可以将其应用于所有需要跟踪的模型。这样可以将向每个模型添加 IP 地址列的困惑情况降至最低,并将显着减少代码库中的重复数量。然后走观察者路线可能是连接模型的最简单方法。
关于ruby-on-rails - 现有应用程序中大量模型的 IP 地址记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/478355/