使用Devise on Rails仅允许访客用户使用单个页面视图

时间:2014-02-21 06:20:08

标签: ruby-on-rails devise account user-accounts

我正在尝试实现用户邀请朋友访问该网站的功能,受邀人员将登陆该页面并查看该页面,但在尝试通过单击链接查看其他页面时,它会询问他们报名。

我正在考虑使用Devise timeoutable并为访客用户将会话设置为1.second。所以它会是这样的:

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

  def timeout_in
    if self.guest? 
      1.second
    end
  end
end

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

1 个答案:

答案 0 :(得分:2)

也许你可以添加authenticate_user!在ApplicationController中

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

  before_filter :authenticate_user!

并跳过您希望访客访问的页面的过滤器。