我有設計的身份驗證,我有confirmable
在設計用戶模型,但我希望這是基於我發送的數據是可選的。在用戶模型中有type field
,如果我發送value 1
類型,那麼應該存在confirmable,並且如果value is 2
那麼不應該是可確認的,並且帳戶應該自動激活。我怎樣才能做到這一點?請幫幫我。在此先感謝如何在設計中將可確認更改爲可選項?
回答
我想你可以使用skip_confirmation!方法在這裏。所以它不會向用戶發送確認郵件並且會被確認。
before_save :require_confirmation, :on => :create
def require_confirmation
self.skip_confirmation! if field == "value_2"
end
你可以在你的用戶模型中做出這樣的事情。
before_save :confirm_user, on: :create
def confirm_user
self.confirm! if field.eql?("value_1")
end
關鍵是你檢查你的價值,如果你想在不確認創建用戶,比你只用色器件confirm!
方法確認其手。
謝謝。你能否詳細解釋我一下。我的用戶模型中有「設計:可確認」。這種方法如何限制可確認 – logesh
'confirm!'方法通過將'confir_at'字段設置爲實際時間來確認用戶。如果用戶已經確認,則向電子郵件字段添加錯誤。 –
我使用過這樣before_save:skip_confirmation !,:on =>:創建 def skip_confirmation! self.confirmed_at = Time.now if type ==「value 2」 如果type ==「value 2」結束它不發送郵件給用戶,但是如果值爲1,則顯示錯誤爲未定義方法'confirmation_url'for#< #<類別:0x000001038d7c60>:0x000001038ce4f8>。我能做什麼? – logesh
您可以在config/initializers/devise.rb文件中設置config.allow_unconfirmed_access_for = nil
。
感謝Ajedi32的問題 - https://github.com/plataformatec/devise/issues/2275
- 1. Rails設計1.3.4可確認
- 2. 設計路由可確認
- 3. Swift可選項:如果我需要將非可選類型更改爲可選
- 4. 如何在設計中更改註冊確認鏈接?
- 5. 更改botframework中的確認選項Formflow
- 6. 如何在Grails中將域字段的默認設置更改爲可空
- 7. 如何在確認對話框中更改是/否選項?
- 8. 如何啓用:在設計中可以確認?
- 9. Rails 3,設計,即使設計未設置爲可確認,我如何發送確認電子郵件?
- 10. Android appwidget有時會將首選項更改爲默認設置
- 11. 更改設計初始值設定項,現在認證中斷
- 12. 修改確認與設計
- 13. 如何將選項卡設置爲默認選項卡
- 14. 如何將顯示的值更改爲dijit.form.ComboBox中的某個可用選項?
- 15. 確認沒有屬性可以更改
- 16. 將必填字段更改爲可選
- 17. 如何在ui可選jquery動態更改選項列表
- 18. 在AngularJS中,如何更改選擇的默認選項?
- 19. 如何將UICollectionViewCell設置爲不可選?
- 20. 如何將菜單項更改爲選中或取消選中?
- 21. Gitk:默認設置爲「忽略空間更改」選項爲
- 22. 在javascript確認對話框中更改標題和選項
- 23. 如何更改默認選中=「選中」
- 24. 如何將設計中的默認json響應更改爲自定義響應?
- 25. 使用dom將選擇標記選項更改爲默認值?
- 26. Acumatica如何將ARDocumentRelease項目任務設置爲可選?
- 27. 如何將選項卡設置爲不可點擊
- 28. 如何在使用jquery取消確認後防止更改選擇選項?
- 29. 如何將選擇2默認新標籤鍵「選項卡」更改爲「空格」?
- 30. 如何將CheckedListBox項目設置爲默認選中
如果我發送值2,那麼它跳過確認並讓用戶登錄,但如果值爲1,則它顯示錯誤爲未定義的方法'confirmation_url'for#<#:0x000001038ce4f8>,並且未創建用戶。如果價值= 1時應該發送電子郵件,我該怎麼辦? –
logesh
我想..這似乎devise scoped_views相關的錯誤。只需做一件事情就可以備份你的項目,並嘗試這一步驟1:在「config/initializers/devise.rb」中設置「config.scoped_views = true」。第2步:然後使用「rails generate devise:views users」生成範圍視圖。 – Santosh
非常感謝。它現在起作用了,但是請你告訴我你爲什麼要這麼做。 – logesh