【发布时间】:2023-04-11 04:25:01
【问题描述】:
我有一个这样的哈希:
{"utf8"=>"✓",
"authenticity_token"=>"yYl/Nts0KRktqjR5K7vYXf1jrOyRJmQOtaF7lPMIeZQ=",
"meeting"=>{"name"=>"Robsbaun",
"start_at(3i)"=>"4",
"start_at(2i)"=>"10",
"start_at(1i)"=>"2013",
"start_at(4i)"=>"11",
"start_at(5i)"=>"15",
"end_at(1i)"=>"2013",
"end_at(2i)"=>"10",
"end_at(3i)"=>"4",
"end_at(4i)"=>"19",
"end_at(5i)"=>"15",
"room_id"=>"1",
"user_id"=>"2"},
"commit"=>"Submit"}
我想为end_at(2i) 和start_at(2i) 和end_at(3i) 和start_at(3i) 设置相同的值。
如何在 Ruby 2.0 和 Rails 4 中做到这一点?
我已经尝试过类似的方法:
meeting_params[":end_at(3i)"] = meeting_params[":start_at(3i)"]
但它不起作用。
提前致谢。
【问题讨论】:
-
呃。我强烈建议不要使用
"✓"作为您的标志,无论它是utf8。使用布尔值true/false,或者至少使用 nil/not-nil。你的测试逻辑会更清晰:if hash['utf8']vs.if hash['utf8'] == "✓",它会使其更兼容各种 ORM、DBM 和数据库模式,它们已经理解 true/false 或 nil/not-nil 映射到标准数据库中的“is”/“is not”条件测试。 -
我不知道如何改变它...但是谢谢你的提示
标签: ruby-on-rails ruby hashmap