![](/img/trans.png)
[英]How can I resend a Devise confirmation email automatically, but only once, for users who have not confirmed?
[英]How to access users who did not confirmed and those who confirmed (Rails/Devise/cancan/rolify)
我正在Rails上構建一個日常交易應用程序來訓練自己使用Ruby on Rails。
我已經使用devise / cancan / rolify安裝了身份驗證。
我想在cancan中創建兩種類型的用戶
我怎樣才能做到這一點? 如何訪問具有和未確認其帳戶的設備用戶(即點擊通過電子郵件發送給他們的激活鏈接)。
無需為confirmed
和unconfirmed
添加角色。 你可以使用user.confirmed?
在你的ability.rb
文件中控制授權:
# models/ability.rb
if user.confirmed?
can :manage, Model
end
if !user.confirmed?
can :view, Model
end
注意:你可以使用if/else
結構,但我更喜歡保持我的規則很好地分開。
關於你的評論,你重新實現了已經完成的工作。 使用cancan,您可以使用load_and_authorize_resource
(請參閱: 此處 )。
class ProductsController < ActionController::Base
load_and_authorize_resource
end
而已。 如果用戶嘗試在沒有所需權限的情況下進行訪問,則會收到“未經授權”的響應。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.