gpt4 book ai didi

ruby-on-rails - 如何从 LinkedIn 解析 Mash 以创建 Ruby 对象

转载 作者:行者123 更新时间:2023-12-05 01:35:32 24 4
gpt4 key购买 nike

我使用 pengwynn 的 LinkedIn gem 从 LinkedIn 获得身份验证。一切正常,我在回调中得到一个 Mash,如下所示:

#<LinkedIn::Mash all=[#<LinkedIn::Mash company=#<LinkedIn::Mash id=1422 industry="Banking"    
name="Company" size="10,001+ employees" ticker="ABC" type="Public Company"> id=2851554
is_current=true start_date=#<LinkedIn::Mash month=12 year=2008> summary="" title="Boss">] total=1>

如何将其解析为类似于 Rails 参数的内容,以便从中创建新对象?

谢谢你。

最佳答案

当您从 LinkedIn 收到任何类型的连接列表时,您需要从 all 获取列表。 .在您从 LinkedIn 收到的对象上,您有 {all, total} . total将为您提供数组中的对象数,all会给你所有的对象。所以如果你想把第一家公司变成一个哈希,你可以调用 object.all.first.to_hash .您可以通过执行 object.all.each {|c| # your block} 来遍历所有这些。 .

如果您自己的 Rails 模型与从 linkedin gem 返回的对象匹配,您可以执行以下操作:

companies.all.each do |company|
Company.create(company.to_hash)
end

如果它们不是 1:1 映射,您只需选择所需的字段:
companies.all.each do |company|
c = Company.new
c.name = company.name
c.year_founded = company.start_date.year
c.ticker = company.ticker
# etc. etc. etc.
c.save
end

关于ruby-on-rails - 如何从 LinkedIn 解析 Mash 以创建 Ruby 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8197835/

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