ruby-on-rails - 使新哈希从 {"sample"=> "sample"} 到 { :sample => "sample"}

标签 ruby-on-rails ruby

In condition,
COLUMN = [:id, :tag_list, :price, :url, :Perweight, :Totalweight, :memo, :created_at, :updated_at]

row = {"id"=>4, "tag_list"=>"peanuts", "price"=>100, "Totalweight"=>390, "Perweight"=>nil, "url"=>nil, "memo"=>nil, nil=>nil}

from these two conditions, I want to make above Hash Object.

{:id=>4, :tag_list=>"peanuts", :price=>100, :Totalweight"=>390, :Perweight=>nil, :url=>nil, memo=>nil}

我试过,像这样... 首先,我制作空哈希,

new = Hash[COLUMN.zip([])] 
p new
--->
{:id=>nil, :tag_list=>nil, :price=>nil, :url=>nil, :Perweight=>nil, :Totalweight=>nil, :memo=>nil, :created_at=>nil, :updated_at=>nil}

然后,我不知道该怎么做, 请给我建议?

最佳答案

您可以使用 Symbolize Keys .

row.symbolize_keys

或破坏性地

row.symbolize_keys!

关于ruby-on-rails - 使新哈希从 {"sample"=> "sample"} 到 { :sample => "sample"},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33584498/

相关文章:

ruby - 有没有办法使用 watir 在 firefox 的新选项卡或窗口中打开链接

配置 : error: C compiler cannot create executables when installing Ruby 1. 9.3

php - CodeIgniter 路由 - 更改为处理子域?

php - Python/Django/Ruby/Rails/PHP 中的学习管理系统

ruby-on-rails - 捕获所有类型的错误并在Rails 4中呈现404页面

mysql - MAC mysql 主机和 ruby​​ mysql gem

ruby-on-rails - Ruby 和 JRuby 有什么区别?

ruby-on-rails - 如何遍历年和周

ruby-on-rails - 为什么需要将 JWT 作为 Bearer Token header 发送?

ruby-on-rails - Rails bootstrap-sass 我需要更新 Bootstrap 文件吗?