RubyonRails中的多个哈希
嗨,我有一个杂凑,我正试图完成,但不能完全得到最后一部分 我可以在控制台中查看集合,因为我使用的是byebug Ruby代码:RubyonRails中的多个哈希,ruby,ruby-on-rails-5,Ruby,Ruby On Rails 5,嗨,我有一个杂凑,我正试图完成,但不能完全得到最后一部分 我可以在控制台中查看集合,因为我使用的是byebug Ruby代码: @data = Hash.new d = Date.today @data[:week_1] = Hash.new @data[:week_1][:date] = d.at_beginning_of_week.strftime("%d") + "/" + d.at_end_of_week.strftime("%d") + " " + Date::
@data = Hash.new
d = Date.today
@data[:week_1] = Hash.new
@data[:week_1][:date] = d.at_beginning_of_week.strftime("%d") + "/" + d.at_end_of_week.strftime("%d") + " " + Date::MONTHNAMES[Date.today.month] + " " + Date.today.year.to_s
@data[:week_2] = Hash.new
@data[:week_2][:date] = d.at_beginning_of_week.strftime("%d") + "/" + d.at_end_of_week.strftime("%d") + " " + Date::MONTHNAMES[Date.today.month] + " " + Date.today.year.to_s
@data[:week_3] = Hash.new
@data[:week_3][:date] = d.at_beginning_of_week.strftime("%d") + "/" + d.at_end_of_week.strftime("%d") + " " + Date::MONTHNAMES[Date.today.month] + " " + Date.today.year.to_s
byebug
count = 30
money = 420.00
@data[:weeks_1][:business_sign_ups] = {count: count, money: money}
@data[:weeks_2][:business_sign_ups] = {count: count, money: money}
@data[:weeks_3][:business_sign_ups] = {count: count, money: money}
调试期间我的控制台中的输出:
(byebug) @data
{:week_1=>{:date=>"23/29 July 2018"}, :week_2=>{:date=>"23/29 July 2018"}, :week_3=>{:date=>"23/29 July 2018"}}
我想将[:business\u sign\u ups]
添加到这个散列中,每个星期的计数和货币值都将等于30和420.00,如上所述
每次我在byebug控制台中点击continue for,我都会得到一个[]`的nil类错误,这是[:business\u sign\u ups]
任何帮助都将非常感谢您有一个打字错误,您正在尝试访问
:weeks\u 1
,:weeks\u 2
,和:weeks\u 3
当您应该访问:week\u 1
,:week\u 2
和:week\u 3
时
当您尝试访问不存在的散列中的密钥时,它将返回散列默认值,当您使用
hash#new
初始化散列时,该值为nil
。因此,试图设置@data[:weeks_1]
的属性就像试图使用nil
作为散列。噢,我的天哪。非常感谢。