Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.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 创建散列的单个实例并与rails中的另一个散列进行比较?_Ruby On Rails_Arrays_Hash_Include - Fatal编程技术网

Ruby on rails 创建散列的单个实例并与rails中的另一个散列进行比较?

Ruby on rails 创建散列的单个实例并与rails中的另一个散列进行比较?,ruby-on-rails,arrays,hash,include,Ruby On Rails,Arrays,Hash,Include,我需要查看一个散列是否包含在视图中的另一个散列中。但我不确定是否正确创建了散列,当我在视图中放置“”时,它会显示y的所有输出,这使我认为它是一个数组。通常如果是散列,我会看到“#”对吗 我知道x应该有y,但我仍然得到“不,y不在x中” someview.html.erb 宇宙飞船:作者=>马克:价格=>9.99,:流派=>sifi}%> 是的,y在x中 不,y不在x中 rails非常新,因此任何帮助都将不胜感激!!谢谢~ y是您定义的哈希x很可能是一个数组。您的代码在这方面很好。要确定对象的类

我需要查看一个散列是否包含在视图中的另一个散列中。但我不确定是否正确创建了散列,当我在视图中放置“”时,它会显示y的所有输出,这使我认为它是一个数组。通常如果是散列,我会看到“#”对吗

我知道x应该有y,但我仍然得到“不,y不在x中”

someview.html.erb
宇宙飞船:作者=>马克:价格=>9.99,:流派=>sifi}%>
是的,y在x中
不,y不在x中

rails非常新,因此任何帮助都将不胜感激!!谢谢~

y
是您定义的哈希
x
很可能是一个数组。您的代码在这方面很好。要确定对象的类别,可以执行以下操作:


(我假设sifi、spaceship等在您的视图中可能不是变量?如果是,则将这些值放入
'
'

这看起来对于视图来说太多逻辑了。试着把它放在一个助手中。是的,它有很多逻辑,但这与一个基于用户操作刷新的ajax调用有关,我需要在刷新时运行此逻辑,以确定视图中显示的内容~有更好/更简单的方法吗?它可能会帮助您使用调试助手。宇宙飞船,马克,9.99等等。。。这些都是变量。当我进入视图时,我得到“########”如果我做了类似于它吐出实际字符串的事情。。让我相信这是一个散列..实际上,x是一个散列数组。因此,x[0]访问数组x中的第一个散列(“记录”),而[:title]访问散列中该键的值。那么,是否无法比较x和y?我想检查散列的x数组中是否存在y散列…我已经说过了。。。您的代码进行了该测试,它将正常工作。问题是什么?我知道y散列存在于散列的x数组中,但它总是说“y不在x中”。。当它应该说“是的,y在x中”
someview.html.erb

<% x = @books.sifi %>
<% y = { :title => spaceship, :author => mark, :price => 9.99, :genre => sifi} %>

<% if x.include?(y) %>
  yes y is in x
<% else %>
  no y is not in x
<% end %>