如何在到期日期后锁定用户登录?

时间:2017-05-15 18:07:21

标签: ruby-on-rails devise

我使用rails generate devise MODEL,admin,user1,user2创建了3个设计用户模型。

我还创建了一个Subscription脚手架(标题,描述,价格,到期:整数)。 user1可以通过购物车购买订阅,然后进入结帐流程。

我的问题是,如何在到期日期后实施过期日期并锁定用户登录? 以下方法是否正确?

我正在尝试设置过期日期:

def set_expiration_date
    self.expiration =  current_user1.created_at + Subscription.expiration
end

即使我在应用程序控制器中使用以下代码:

def current_user1
  return unless session[:user1_id]
  @current_user1 ||= User.find(session[:user1_id])
end

错误出现未定义的局部变量或方法`current_user1'

我得到上述代码后的计划是尝试定义过期和有效订阅。

 def expired
  set_expiration_date.to_i <= 0 
 end  

 def active
  set_expiration_date.to_i > 0  
 end

为了锁定用户登录,我打算使用它:

def after_sign_in_path_for(resource)
  if resource.is_a?(User1) && resource.expired?
    sign_out resource
    expired_user1_path
  else
 super
  end
end

0 个答案:

没有答案