rails - devise - неопределенный метод `Remember_created_at 'при выходе - PullRequest
0 голосов
/ 19 марта 2019

У меня была отличная работа, пока я не перенес рельсы с SQLite на SQL-сервер.Миграция все удачная и возможность войти в рельсы.Но когда я нажимаю «выйти», я получаю сообщение об ошибке ниже:

> NoMethodError in Devise::SessionsController#destroy undefined method
> `remember_created_at=' for #<User:0x00007fe169c25d10> Did you mean?
> remember_me=

    Rails.root: /home/blacklight/projects/tth-blacklight
    Application Trace | Framework Trace | Full Trace

    activemodel (5.2.1) lib/active_model/attribute_methods.rb:430:in `method_missing'
    devise (4.5.0) lib/devise/models/rememberable.rb:61:in `forget_me!'
    devise (4.5.0) lib/devise/controllers/rememberable.rb:32:in `forget_me'
    devise (4.5.0) lib/devise/hooks/forgetable.rb:9:in `block in <main>'
    warden (1.2.7) lib/warden/hooks.rb:15:in `block in _run_callbacks'
    warden (1.2.7) lib/warden/hooks.rb:10:in `each'
    warden (1.2.7) lib/warden/hooks.rb:10:in `_run_callbacks'
    warden (1.2.7) lib/warden/manager.rb:52:in `_run_callbacks'
    warden (1.2.7) lib/warden/proxy.rb:263:in `block in logout'

db / migrate / 2018..add_devise_to users.rb

class AddDeviseToUsers < ActiveRecord::Migration[5.2]
  def self.up
    change_table :users do |t|
      t.string :email,              null: true
    end     
     add_index :users, :email,                unique: true
  end

  def self.down
        raise ActiveRecord::IrreversibleMigration
  end
end 

db / Schema.rb

ActiveRecord::Schema.define(version: 2018_11_15_061838) do

  create_table "bookmarks", id: :integer, force: :cascade do |t|
    t.integer "user_id", null: false
    t.string "user_type"
    t.string "document_id"
    t.string "document_type"
    t.binary "title"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["document_id"], name: "index_bookmarks_on_document_id"
    t.index ["user_id"], name: "index_bookmarks_on_user_id"
  end

  create_table "searches", id: :integer, force: :cascade do |t|
    t.binary "query_params"
    t.integer "user_id"
    t.string "user_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["user_id"], name: "index_searches_on_user_id"
  end

  create_table "users", force: :cascade do |t|
    t.boolean "guest", default: false
    t.string "email"
    t.index ["email"], name: "index_users_on_email", unique: true
  end
end 

Не уверен, что или где я должен смотреть.Я новичок в рельсах, поэтому простое объяснение было бы очень полезно.Спасибо.

1 Ответ

0 голосов
/ 20 марта 2019

Я не уверен, что миграция действительно вызвала проблему, но я узнал, что опция : запоминаемый в модели / user.rb отвечает за создание времени и управление запомнить_created_at . И у меня нет флажка запомнить меня при входе в систему пользователя. Так что в целом я убрал: запоминающийся вариант. И чтобы убедиться, что пользователь вышел из системы через некоторое время, включил опцию : timeoutable

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