2012-07-23 77 views
1

我想知道是否有可能有選擇地要求確認某些控制器操作使用Devise。Rails 3設計確認過濾器

基本上:我希望用戶註冊一個帳戶(這將觸發確認電子郵件),自動登錄,並且能夠立即探索網站的某些部分作爲登錄(但仍未確認)用戶。訪問某些區域(例如付款)將要求用戶首先確認他們的電子郵件

我希望這樣的事情before_filter: user_is_confirmed, only: [payment_related_stuff]

我搜索了一會兒,但沒有找到一個方法來做到這一點的盒子,所以我想創建一個哈克解決方案,其中所有可能的保護區仍然會要求before_filter: authenticate!,但我會覆蓋Devise SessionsController的創建,以允許在確認之前訪問某些區域。但是,我不確定這是否是正確的選擇。

回答

3

使用內置在色器件解決方案,你可以在你的面前過濾

+0

大,結合使用allow_unconfirmed_access_for 1.yearcurrent_user.confirmed?這正是我想要的。這[後](https://groups.google.com/d/msg/plataformatec-devise/OOBqd4qMpuc/AYJWuYZHT58J)更詳細地解釋它。 – 2012-07-23 20:39:36