странное поведение при использовании devise: не показывать флеш сообщение - PullRequest
1 голос
/ 25 марта 2012

на странице входа, я ничего не ввел и не нажму кнопку отправить. страница просто обновляется и сообщение об ошибке не появляется.

У меня есть вспышка [: alert] и вспышка [: note] на мой взгляд:

- 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"

Я думаю, что-то не так ..

а где?

Ответы [ 2 ]

0 голосов
/ 10 мая 2013

У меня была такая же проблема, и вы правильно используете:

- if flash[:alert]
    div.alert #{flash[:alert]}
- elsif flash[:notice]
   div.notice #{flash[:notice]}

Моя проблема заключалась в том, что я определил свой собственный config/locales (en.yml, it.yml и т. Д.), Но я не скопировал записи Devise из config/locales/devise.en.yml.

В качестве быстрого теста я добавил следующее к config/locales/en.yml:

en:
  devise:
    sessions:
      signed_in: 'Signed in successfully.'

После входа в систему flash[:notice] начал работать.

0 голосов
/ 25 марта 2012

Проверьте страницу просмотра. Не используйте «вспышку». По шаблону (сгенерированному скаффолдом)

<% @post.errors.full_messages.each do |msg| %>      
  <li><%= msg %></li>     
<% end %>

Вам следует изменить переменные на странице просмотра, и вы увидите сообщение об ошибке, такое как «имя пользователя не должно быть пустым» или «用户 名 不能 为 空» на китайском языке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...