我正在使用Rails 3和Devise,并设置了我的routes.rb文件,如下所示:
devise_for :users,
:path_names => { :sign_in => 'login', :sign_out => 'logout'}
devise_scope :user do
get '/login' => 'devise/sessions#create'
get '/logout' => 'devise/sessions#destroy'
end
resources :users
当我去/登录时,我收到了flash消息:
Signed out successfully.
Invalid email or password.
第一条消息是通知,我并不担心,但第二条消息是警报,因为用户尚未登录并且已经抱怨没有密码,因此很烦人。
是否有一种简单的方法可以抑制此消息?我可能设置错误吗?
我正在使用用户名字段登录而不是电子邮件。
我已将我的devise.rb改为
config.authentication_keys = [ :username ]
答案 0 :(得分:3)
当我以新头回头看时,这是一个容易犯的错误:
此
get '/login' => 'devise/sessions#create'
应该是
get '/login' => 'devise/sessions#new'