Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:未登录用户对页面的访问受限_Ruby On Rails_Ruby_Devise - Fatal编程技术网

Ruby on rails Rails:未登录用户对页面的访问受限

Ruby on rails Rails:未登录用户对页面的访问受限,ruby-on-rails,ruby,devise,Ruby On Rails,Ruby,Devise,我想限制没有帐户的用户访问某些页面(在一个控制器下)。例如:未登录的用户可以每天检查这些页面10次。如果超过此数字,他将自动重定向到页面,通知他每日限额,并鼓励他注册帐户 有什么宝石可以完成它吗?(我使用设计) 我最初的想法是为未登录的查看者构建一个额外的db表来存储IP地址(使用request.remote\u IP方法)。每次Unlocked viewer访问网站时,rails应用程序都会启动一个方法来检查他的IP是否在最后一天出现了10次。这是一个好的解决方案吗 轨道版本:5.2.1 De

我想限制没有帐户的用户访问某些页面(在一个控制器下)。例如:未登录的用户可以每天检查这些页面10次。如果超过此数字,他将自动重定向到页面,通知他每日限额,并鼓励他注册帐户

有什么宝石可以完成它吗?(我使用设计)

我最初的想法是为未登录的查看者构建一个额外的db表来存储IP地址(使用
request.remote\u IP
方法)。每次Unlocked viewer访问网站时,rails应用程序都会启动一个方法来检查他的IP是否在最后一天出现了10次。这是一个好的解决方案吗

轨道版本:5.2.1
Desive ver:4.2

使用IP地址的问题是,如果许多用户位于共享IP上,那么他们可能位于同一IP地址上,因此这不是一个好的生产解决方案。相反,您可能应该使用gem

这里的方法是,您仍然可以为未登录的用户设置用户会话