【问题标题】:Active record column names convert to Array of hash活动记录列名转换为哈希数组
【发布时间】:2017-12-10 02:22:15
【问题描述】:

我在 rails 5 上使用 ruby​​ .. 我想在哈希格式数组中获取活动记录列名.. 例如

Customer.column_names
=> ["id", "key", "name", "domain_name", "description"]

现在我想将此数组转换为喜欢

 [{"name"=>"id"}, {"name"=>"key"}, {"name"=>"name"}, {"name"=>"domain_name"}, {"name"=>"description"}]

谁能帮我解决这个问题?

【问题讨论】:

标签: ruby-on-rails arrays ruby hash ruby-on-rails-5


【解决方案1】:

您可以使用map 将元素转换为哈希:

result = Customer.column_names.map { |column| {"name" => column} }
#=> [{"name"=>"id"}, {"name"=>"key"}, {"name"=>"name"}, {"name"=>"domain_name"}, {"name"=>"description"}]

【讨论】:

  • {"name": column} 将导致{:name=>"id"}
  • 你得到了符号键,因为{"name": column} 等价于{ name: column } 等价于{ :name => column }。如果你想要字符串,请使用{ "name" => column }。无需致电as_json
  • 明白,感谢您的解释。更新了答案:-)
猜你喜欢
  • 2018-04-28
  • 2020-07-13
  • 2016-08-18
  • 1970-01-01
  • 2013-06-10
  • 1970-01-01
  • 2012-10-29
  • 2019-10-27
相关资源
最近更新 更多