devise_token_auth如何访问user.created_at

时间:2018-10-21 20:31:12

标签: ruby-on-rails devise devise-token-auth

我在Rails 5 api上使用devise_token_auth

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

"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

有什么想法吗?预先感谢

1 个答案:

答案 0 :(得分:0)

查看有关在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