在sign_in页面中,我没有输入任何内容,然后点击提交。页面只是刷新,没有出现错误信息。
我的视图中有flash [:alert]和flash [:notice]:
- if flash[:alert]
div.alert #{flash[:alert]}
- elsif flash[:notice]
div.notice #{flash[:notice]}
记录器说:
Started POST "/users/sign_in" for 127.0.0.1 at 2012-03-25 12:38:49 +0800
Processing by SessionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"9a85NKpAj3ZJgKnzStvBA3sxGqrShgbUqbjiJrqQCAM=", "user"=>{"email"=>"", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"登陆"}
Completed 401 Unauthorized in 0ms
Processing by SessionsController#new as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"9a85NKpAj3ZJgKnzStvBA3sxGqrShgbUqbjiJrqQCAM=", "user"=>{"email"=>"", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"登陆"}
Rendered devise/shared/_links.html.slim (0.3ms)
Rendered devise/sessions/new.html.slim within layouts/one_column (5.1ms)
Rendered layouts/_navbar.html.slim (0.8ms)
Rendered layouts/site.html.slim (12.8ms)
Completed 200 OK in 22ms (Views: 21.2ms | ActiveRecord: 0.0ms)
我对
感到困惑"Completed 401 Unauthorized in 0ms"
我觉得有些不对劲。
但在哪里?
答案 0 :(得分:0)
检查您的视图页面。不要使用'flash'。根据模板(由脚手架生成)
<% @post.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
您应该更改视图页面中的变量,您将看到错误消息,例如“用户名不能为空”或“用户名不能为空”。
答案 1 :(得分:0)
我遇到了同样的问题而你使用正确:
- if flash[:alert]
div.alert #{flash[:alert]}
- elsif flash[:notice]
div.notice #{flash[:notice]}
我的问题是我有自己的config/locales
已定义(en.yml,it.yml等),但我没有从config/locales/devise.en.yml
复制Devise条目。
作为快速测试,我将以下内容添加到config/locales/en.yml
:
en:
devise:
sessions:
signed_in: 'Signed in successfully.'
登录后,flash[:notice]
开始工作。