我使用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