Rails - 限制匿名用户可以更新记录的时间

时间:2011-07-08 20:57:34

标签: ruby-on-rails-3

我不知道这是否可行,但我正在编写一个允许匿名用户创建记录并更新它们的应用程序。现在我只希望他们能够在创建后的几分钟内更新记录。

我可以使用任何类型的超时方法,例如cancan吗?

或者更好的选择是将模型与用户的IP地址相关联,只让相同的IP编辑记录?由于最终目标是阻止恶意用户编辑任何和所有记录。

由于

1 个答案:

答案 0 :(得分:0)

您可以使用自己的自定义函数进行回调验证。 如果使用rails generate命令创建模型,则每个模型在数据库中都有一个created_at列。

Model Book
    before_update: check_time

    def check_time
        if created_at < 10.seconds.ago
            return false
        else 
            return true
        end
    end
end