簡體   English   中英

Devise 密碼重置錯誤消息出現在 devise_error_messages 但不是 flash?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM