AngularJS通过JSON API从用户获取相关数据

时间:2016-04-08 15:08:37

标签: ruby-on-rails angularjs json api ionic-framework

我正在使用Ionic框架,但问题是关于AngularJS。我在轨道上写了红宝石上的json api。对于身份验证,我选择ng-token-auth + devise-token-auth

用户json:

{
  "data": {
    "id": "1",
    "type": "users",
    "attributes": {
      "name": "User1",
      "email": "email@email.com",
      "current-sign-in-at": "..",
      "last-sign-in-at": "..",
      "created-at": ".."
    },
    "relationships": {
      "friends": {
        "data": [
              {
                  "id": "2",
                  "type": "users"
              }
         ]
       }
    }
  },
  "included": [
    {
      "id": "2",
      "type": "users",
      "attributes": {
        "name": "User2",
        "email": "user@user.com",
        "current-sign-in-at": "..",
        "last-sign-in-at": "..",
        "created-at": ".."
      },
      "relationships": {
        "friends": {
             "data": [ ]
         }
      }
    }
  ]
}

我的用户序列化程序:

class UserSerializer < ActiveModel::Serializer
  attributes :id, :name, :email,:current_sign_in_at,
              :last_sign_in_at, :created_at
  has_many :friends, through: :friendships
end

当前用户对象作为响应:

{"success":true,"data":{"id":1,"provider":"email","uid":"0a56bb6b-dc72-4ef3-906e-1c17cb2fef46","name"
:"User1","nickname":null,"image":null,"email":"email@email.com"}}

有我的问题,我无法获取用户关系信息。

我不知道为什么,但我视图中的对象名称是user(不是current_user),并且在我的控制器中没有访问权限。 问题是我如何从该对象获得一些额外信息以及如何为我的控制器提供当前用户对象访问。

1 个答案:

答案 0 :(得分:0)

我明白了,所以答案很简单。 ng-token-auth提供$rootScope.user作为当前用户,它可以在控制器中使用。 但我仍然不知道如何向用户对象提供相关数据,幸运的是找到了解决方案以满足我的需求。