设计rails应用程序重定向到users / sign_in

时间:2017-10-02 13:26:09

标签: ruby-on-rails ruby ruby-on-rails-3 devise

全部 - 新的rails和web开发。我开始使用新的rails应用程序并使用Devise。每当我点击users / sign_in页面上的登录时,该页面就会刷新。

单击“登录”后,这是我的终端日志。它显示了POST,我不知道它为什么最终渲染devise / sessions / new.html ....:

    Started POST "/users/sign_in" for ::1 at 2017-10-02 09:19:20 -0400
Processing by Devise::SessionsController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"Ot4EJmxLvXrPpa6WYyqCXHxAUT3DcHimrIfw8HGyu5j7yuXvWArEkWzx59Dj3GZrlVDpgS/xSgXFSIt+mQqQnw==", "user"=>{"email"=>"bob@good.company", "password"=>"[FILTERED]"}, "commit"=>"Log in!"}
  User Load (0.2ms)  SELECT  "users".* FROM "users" WHERE "users"."email" = ? ORDER BY "users"."id" ASC LIMIT ?  [["email", "bob@good.company"], ["LIMIT", 1]]
   (0.1ms)  begin transaction
   (0.1ms)  commit transaction
Completed 401 Unauthorized in 162ms (ActiveRecord: 0.3ms)


Started GET "/users/sign_in" for ::1 at 2017-10-02 09:19:21 -0400
Processing by Devise::SessionsController#new as HTML
  Rendering devise/sessions/new.html.erb within layouts/application
  Rendered devise/shared/_links.html.erb (1.2ms)
  Rendered devise/sessions/new.html.erb within layouts/application (4.6ms)
Completed 200 OK in 45ms (Views: 43.5ms | ActiveRecord: 0.0ms)

我的routes.rb

Rails.application.routes.draw do
  get 'charges/create'
  devise_for :users
  get 'welcome/index'
  get 'welcome/about'
  resources :wikis
  resources :charges, only: [:new, :create]
end

和我的User.rb

class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable, :confirmable
  has_many :wikis

  before_save { self.email = email.downcase }

  enum role: [:standard, :admin, :premium]
  after_initialize { self.role ||= :standard }

end

感谢您的指示,如果我能提供更多详细信息/代码示例等,请告诉我。

1 个答案:

答案 0 :(得分:0)

请从控制台

更新此用户密码 发生这种情况是因为你只提供了密码属性,你跳过了password_confirmation属性

例如User.where(电子邮件:“Youremail@email.com”)。update(密码:“password”,password_confirmation:“password”)