ruby on rails
当我最近在一个客户项目中工作时,我不得不
与外部MariaDB服务器通信以存储来自
React / Rails应用程序,这意味着我将从我们的应用程序中获取ActiveRecord哈希
我必须将其转换为纯SQL查询并将其发送到外部
用于存储的服务器。
如果您以前使用过SQL查询,那么您必须知道
键和值必须分开才能进行插入操作,例如
INSERT INTO users (first_name, last_name, email) VALUES (John, Doe, john@email.com)
我可以使用as_json
轻松将属性转换为哈希,以获取格式
{"first_name" => "John" , "last_name" => "Doe" , "email" => "john@email.com" }
但是我必须分别提取键和值,以便可以准确格式化属性并准备进行插入和更新操作。 让我向您展示如何从哈希中提取键和值,并根据操作要求对其进行格式化。
假设我们有: user = {"first_name"=>"John", "last_name"=>"Doe", "email"=>"john@email.com"}
提取单个键或值
如果我们只想要电子邮件
// For key
user.extract!( "email" ).keys # [ "email" ]
// For value
# with extract
user.extract!( "email" ).values # [ "john@email.com" ]
# simply
user[ 'email' ] # "john@email.com"
提取多个键或值
如果我们想要first_name和last_name但不想要电子邮件
//For keys
user.extract!(*[ "first_name" , "last_name" ]).keys # [ "first_name" , "last_name" ]
// For values
user.extract!(*[ "first_name" , "last_name" ]).values # [ "John" , "Doe" ]
提取所有键或值
//For keys
user .keys # ["first_name", "last_name", "email"]
// For values
user . values # ["John", "Doe", "john@email.com"]
您知道提取密钥和密钥的更优雅或更替代的方法吗?
哈希值? 请赐教并指导您
如果您在下面发表评论。
该帖子最初发布在DevPost上 。
翻译自: https://hackernoon.com/how-to-extract-key-or-value-from-hash-in-ruby-on-rails-yg2d3usu
ruby on rails