加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails 4 – 如何从JSON API填充用户模型?

发布时间:2020-12-17 04:23:44 所属栏目:百科 来源:网络整理
导读:首先,我是rails的新手,如果有任何我不理解的话,那就很抱歉.我想知道如何通过API填充数据获取模型. 上下文:我正在使用omniauth / devise进行OAuth2身份验证. 在我的用户控制器客户端(与提供商相对),我获取了至少登录一次的所有用户是这个“客户端应用程序”,
首先,我是rails的新手,如果有任何我不理解的话,那就很抱歉.我想知道如何通过API填充数据获取模型.

上下文:我正在使用omniauth / devise进行OAuth2身份验证.

在我的用户控制器客户端(与提供商相对),我获取了至少登录一次的所有用户是这个“客户端应用程序”,我想显示它们.显然,每当新用户登录到客户端应用程序时,我都不会将其所有信息存储在客户端数据库中以避免重复.我正在存储的是user_id及其访问令牌.

因此,我想在获取所有用户数据后,我可以将它们填充到用户模型,然后再将其传递给视图.做这种事的最好方法是什么?
我正在研究命名范围,但我不清楚如何将其应用于我的特定场景.例如,能够使用以下内容获取填充模型中的所有用户将会很棒:

# ApiRequest is a container class for HTTParty
get = ApiRequest.new.get_users(User.all) // here "get" is a JSON array of all users data
response = get.parsed_response['users']
User.populate(response).all # would something like this possible? If yes,is Named Scope the appropriate solution?

非常感谢您的帮助.

解决方法

假设响应是一个属性哈希数组:
[{'id' => 1,'name' => 'Dave'},{'id' => 2,'name' => 'Bill'}]

您可以将其映射到用户数组中:

users = response.map{|h| User.new(h)}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读