[英]Devise Password Reset error message appears in the devise_error_messages but not flash?
在我的 rails 3 應用程序中,我使用 devise。 對於密碼重置表格,我有:
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
<%= devise_error_messages! %>
<%= f.hidden_field :reset_password_token %>
......
我想刪除 devise_error_message 並堅持使用軌道 flash,但這不起作用,因為錯誤沒有發送到 flash?
<% flash.each do |key, value| %>
<div id="message-drawer">
<div class="message error">
<div class="message-inside"><span><%= value %></span>
</div>
</div>
</div>
<% end %>
flash 為空? 為什么? 謝謝
默認情況下,devise 僅使用 flash 消息進行登錄和注銷。 任何表單錯誤都會在下次重新加載時與表單一起打印。 考慮修改 controller 以生成適當的 flash 消息。
flash 是空的,因為這些是使用輔助方法 devise_error_message 打印的 model 驗證錯誤消息。 :你總是可以覆蓋它:
https://github.com/plataformatec/devise/blob/master/app/helpers/devise_helper.rb
但是通過 I18n 文件自定義 devise 相關消息要容易得多: config/locales/devise.en.yml
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.