Rails 3设计确认过滤器

时间:2012-07-23 19:43:07

标签: ruby-on-rails devise devise-confirmable

我想知道是否有可能选择性地要求使用Devise确认某些控制器操作。

基本上:我希望用户注册一个帐户(会触发确认电子邮件),自动登录,能够立即浏览网站的某些部分(但仍然未经证实) )用户。访问某些区域(例如付款)需要用户首先确认其电子邮件

我希望有before_filter: user_is_confirmed, only: [payment_related_stuff]

之类的东西

我搜索了一段时间,却找不到开箱即用的方法,所以我想创建一个hacky解决方案,其中所有可能受保护的区域仍然需要before_filter: authenticate!,但我会覆盖设计SessionsController的创建允许在确认之前允许访问某些区域。但是,我不确定这是否是正确的方法。

1 个答案:

答案 0 :(得分:3)

在设计中使用内置解决方案,您可以在前置过滤器中将allow_unconfirmed_access_for 1.yearcurrent_user.confirmed?结合使用