Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RubyonRails中的多个哈希_Ruby_Ruby On Rails 5 - Fatal编程技术网

RubyonRails中的多个哈希

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::

嗨,我有一个杂凑,我正试图完成,但不能完全得到最后一部分

我可以在控制台中查看集合,因为我使用的是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::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
作为散列。

噢,我的天哪。非常感谢。