Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.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
Ruby on rails 干燥step文件中的引用_Ruby On Rails_Rspec - Fatal编程技术网

Ruby on rails 干燥step文件中的引用

Ruby on rails 干燥step文件中的引用,ruby-on-rails,rspec,Ruby On Rails,Rspec,我使用RSpec和Turnip进行验收测试。我的steps文件有一个散列,在几个不同的私有方法中使用和修改。我想把事情弄干,但由于哈希值在某些步骤中进行了修改,所以我不能只创建一个常量 在一个私有方法中,我执行以下操作: def my_private_method { score1: 13, score2: 24, score3: 12}.each do |element, score| #do stuff ... } end 另一方面 def seco

我使用RSpec和Turnip进行验收测试。我的steps文件有一个散列,在几个不同的私有方法中使用和修改。我想把事情弄干,但由于哈希值在某些步骤中进行了修改,所以我不能只创建一个常量

在一个私有方法中,我执行以下操作:

def my_private_method
     { score1: 13, score2: 24, score3: 12}.each do |element, score|
     #do stuff
     ...
     }
end
另一方面

def second_private_method
    my_hash = { score1: 13, score2: 24, score3: 12}
     ...
    my_hash[:score1] = nil
     ...
end
我尝试过创建如下哈希:

@my_hash =
  {
    score1: 1.2,
    score2: 8.7,
    score3: 6.4
  }
然后在私有方法中将其称为@my_hash,但它始终为零。我错过了什么


谢谢

您在哪里定义这个hash实例变量?在执行任何步骤之前,我已经尝试在文件的顶部以及私有标签下定义它。两者都不起作用,我仍然得到一个零参考。