devise_token_auth 如何访问 user.created_at

devise_token_auth how to access user.created_at

我在 Rails 5 api

上使用 devise_token_auth

目前,当我向 /auth/sign_in 发出 POST 请求时,一切顺利,我得到的数据如下所示:

"data": {
    "id": 3,
    "email": "me@user.com",
    "name": null,
    "nickname": null,
    "bio": null,
    "description": null,
    "url": null,
    "image": {
        "url": null
    },
    "provider": "email",
    "uid": "me@user.com",
    "allow_password_change": false,
    "role": null
}

但是,我还希望能够访问已启用的时间戳属性(created_at、updated_at):

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

  # These are extensions that must be enabled in order to support this database
  enable_extension "plpgsql"

  create_table "users", force: :cascade do |t|
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false

有什么想法吗?提前致谢

在 github 存储库 https://github.com/lynndylanhurley/devise_token_auth/issues/597 上查看有关覆盖 devise_token_auth gem 上的渲染方法的问题讨论。

在您的 User 模型上尝试以下代码,这样您就可以使用自定义序列化程序而不是默认序列化程序:

def token_validation_response                                                                                                                                         
  UserSerializer.root = false
  UserSerializer.new(self).as_json
end