登录 主页

rails redirect_back fallback_location的简单使用 (解决一打开登录页面变会有“用户名或密码错误”的错误提示)

2023-10-21 06:01PM

参考:http://linlin.fun/blogs/1002

1. 页面报错说:

把配置文件中提示错误信息的代码删掉:

# config/locales/zh-CN.yml
zh-CN:

  devise:

    failure:

      manager:

        unauthenticated: "用户名与密码不匹配" 

 浏览器页面会报错说:

Translation missing. Options considered were: - zh-CN.devise.failure.manager.unauthenticated - zh-CN.devise.failure.unauthenticated

 2. 把 controller 文件中的这行代码进行修改:

redirect_to root_path, alert: '用户名与密码不匹配' and return

# 修改为:

redirect_back(fallback_location: root_path, notice: '用户名与密码不匹配')

 3.修改视图页面

# app/views/managers/sessions/new.html.erb 文件原代码为
<div class="error">
   <% if flash[:alert] %>
      <div class="alert alert-danger">
         <%= flash[:alert] %>
     </div>
   <% end %>
 </div>

把文件中的alert修改为notice

<div class="error">
  <% if flash[:notice] %>
    <div class="alert alert-danger">
       <%= flash[:notice] %>
    </div>
  <% end %>
</div>

然后在浏览器打开页面,如果用户名或密码错误,才会提示:

 

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论