gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 06:56:21 26 4
gpt4 key购买 nike

首先,我是 Rails 的新手,如果有任何我不理解的地方,请见谅。我想知道如何通过 API 获取数据来填充模型。

上下文:我正在使用带有 omniauth/devise 的 OAuth2 身份验证。

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

因此,我想在获取所有用户数据后,我可以将它们填充到用户模型,然后再将其传递给 View 。做这样的事情最好的方法是什么?我正在研究命名范围,但我不清楚如何将它应用于我的特定场景。例如,如果能够使用如下方式获取并填充我的模型中的所有用户,那就太好了:

# 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?

非常感谢您的帮助。

最佳答案

假设 response 是一个属性散列数组:

[{'id' => 1, 'name' => 'Dave'}, {'id' => 2, 'name' => 'Bill'}]

您可以将其映射到一个 User 数组中:

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

关于ruby-on-rails - Rails 4 — 如何从 JSON API 填充用户模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20570447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com