Ruby on rails 使用Desive on Rails,仅允许来宾用户查看单个页面

Ruby on rails 使用Desive on Rails,仅允许来宾用户查看单个页面,ruby-on-rails,devise,account,user-accounts,Ruby On Rails,Devise,Account,User Accounts,我正在尝试实现一个功能,用户邀请朋友访问该站点,被邀请的人将登陆该页面并查看该页面,但当试图通过单击链接查看另一页面时,它会要求他们注册 我正在考虑使用Desive timeoutable,并为来宾用户将会话设置为1.5秒。所以应该是这样的: class User < ActiveRecord::Base devise (...), :timeoutable def timeout_in if self.guest? 1.second end e

我正在尝试实现一个功能,用户邀请朋友访问该站点,被邀请的人将登陆该页面并查看该页面,但当试图通过单击链接查看另一页面时,它会要求他们注册

我正在考虑使用Desive timeoutable,并为来宾用户将会话设置为1.5秒。所以应该是这样的:

class User < ActiveRecord::Base
  devise (...), :timeoutable

  def timeout_in
    if self.guest? 
      1.second
    end
  end
end
class用户

这是处理这种情况的正确方法吗?或者有更好的方法吗?

也许你可以添加一个用户!在应用程序控制器中

class ApplicationController < ActionController::Base
  ......................

  before_filter :authenticate_user!
class ApplicationController

并跳过您希望来宾访问的页面的筛选。

这是一个有趣的想法,但我之所以尝试这样做,是因为我希望他们查看一个页面,然后立即要求他们注册。因此,他们能看到的唯一页面是第一个登录页。我不知道如何使用这种方法实现它,但你的意思是,登录页可以是一个随机页面,客人的朋友将链接提供给他?是的,但不是“随机”页面,但例如,我可以共享一篇文章,你可以阅读一次。但在那之后,当你试图离开时,你不能,你必须登录。