我正在使用Devise進行身份驗證,並且登錄表單中的登錄使用閃現通知而不是表單錯誤來顯示登錄時出現的任何問題。但我想突出顯示適當的表單字段像通常在軌道形式發生相關的錯誤。有人知道怎麼做嗎?如何使用Devise捕獲登錄頁面中的表單錯誤
回答
根據您的Rails版本(前3與否),你可以使用:
<%= f.error_messages_for :model %>
的Rails版本3.0在使用前該代碼來處理和格式錯誤。在Rails 3中,這個方法已經被棄用了。您需要安裝此plugin才能使用上面的erb代碼。
您可以在this asciicast的「新功能」一章中閱讀有關此更改的更多詳細信息。
This tutorial涵蓋了基於devise和cancan構建認證系統的全過程。
我的問題更具體到設計登錄表單的工作方式。問題是它不會以這種形式添加錯誤消息,它只是設置一個Flash通知。這就是我想要解決的問題。 – 99miles 2010-11-09 19:45:21
默認設計誤差函數色器件1.1.5可以在色器件寶石發現:
色器件-1.1.5 /應用/助理/ devise_helper.rb
module DeviseHelper
def devise_error_messages!
return "" if resource.errors.empty?
messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
sentence = "#{pluralize(resource.errors.count, "error")} prohibited this #{resource_name} from being saved:"
html = <<-HTML
<div id="error_explanation">
<h2>#{sentence}</h2>
<ul>#{messages}</ul>
</div>
HTML
html.html_safe
end
end
我想你可以如果您希望它的行爲不同,請覆蓋此模塊/函數。
這沒有爲我工作。沒有產生錯誤信息。也許事情已經改變。 – 2011-11-16 23:59:46
錯誤存儲在一個地圖:
resource.errors
如果你的表單字段名爲:email
,你可能會得到相關的錯誤是這樣的:
resource.errors[:email]
- 1. 如何使用Devise使用自定義登錄頁面表格
- 2. 如何捕獲Apache錯誤頁面的錯誤頁面截圖?
- 3. 如何通過使用biterScripting來通過登錄頁面捕獲頁面?
- 4. 如何使用PHP將登錄表單錯誤返回到同一頁面?
- 5. 如何使用Facebook登錄捕獲附加表單數據?
- 6. rails 3/heroku/devise:用戶登錄時如何指定不同的「登錄頁面」?
- 7. 登錄頁面錯誤
- 8. Acumatica登錄頁面錯誤
- 9. OOP登錄頁面錯誤
- 10. 登錄頁面錯誤
- 11. JSP登錄頁面錯誤
- 12. PHP登錄頁面錯誤
- 13. 登錄頁面錯誤
- 14. 登錄頁面錯誤
- 15. 錯誤頁面後登錄
- 16. 登錄頁面錯誤
- 17. 在登錄錯誤,重定向到單獨的登錄頁面
- 18. 如何使用Devise爲Omniauth製作自定義登錄表單?
- 19. 如何使用ajax加載登錄錯誤頁面?
- 20. 如何防止用Devise登錄錯誤的重定向?
- 21. Rails&Devise:如何呈現沒有佈局的登錄頁面?
- 22. 如何將查詢參數傳遞給Devise的登錄頁面
- 23. 如何在Devise和Rails的標題中添加登錄表單
- 24. 網::遠程登錄捕獲錯誤
- 25. 捕獲錯誤並登錄SQL Server 2005
- 26. 在asp.net中登錄頁面錯誤
- 27. 使用PHP創建登錄頁面:致命錯誤:未捕獲錯誤:調用未定義函數mysql_connect()
- 28. PHP表單錯誤,保持重定向登錄頁面
- 29. JAAS + Primefaces:登錄表單不會重定向到錯誤頁面
- 30. EmberJS如何在登錄表單中捕獲輸入密鑰
你是否已經看到了這一點的http:// railscasts。 com/episodes/209-introduction-devise和這個http://railscasts.com/episodes/210-customizing-devise? – microspino 2010-11-09 19:28:45
我見過這些。它仍然顯示整個登錄表單的一個錯誤。 – 99miles 2011-08-26 03:06:41