最近我安装了devise_invitable
,现在我想每天添加一次invitation_limit
。
我知道我可以在devise_invitable
文件中对config/initializers/devise.rb
进行一些配置。
当前,我的devise.rb文件如下:
config.invitation_limit = 5
我正在考虑一种设置每日限额的方法,大概是这样的:
config.invitation_limit = Time.zone.now.beginning_of_day..Time.zone.now.end_of_day.5
答案 0 :(得分:1)
也许有点hacky,但是您可以使用现有的机制来限制邀请并每天重置邀请。
默认情况下,invitable为用户添加一个<body>
<a href="" id="dnperm">block</a>
列,该列记录了他们剩余的邀请数。我想,如果您有一个计划的任务,每天将其重置为您希望每天允许的邀请数量,那么它将“正常工作”。
不太容易破解的方法是向用户添加自己的invitation_limit
,并在User上覆盖的has_invitations_left?
方法中进行检查,并在decrement_invitation_limit!
中进行递减。
您可以在devise_invitable中看到这些方法:https://github.com/scambra/devise_invitable/blob/master/lib/devise_invitable/inviter.rb。
尽管如此,您仍然需要做一些事情来重置每日限额,而这对于计划任务来说可能是最简单的。