ruby数组在rails控制器中表现得很奇怪
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby数组在rails控制器中表现得很奇怪相关的知识,希望对你有一定的参考价值。
假设我有2个数组@ arr1 = [10,20,30,40] @ arr2 = [30,40,50,60]
在rails控制器中,我试图找到两个差异并根据它添加或删除记录。如果我在控制台简单的@diff1 = (@arr1 - @arr2)
做我得到正确的结果[10,20]
如果我在rails控制器中做同样的事情,我得到整个@ arr1而不是@ diff1所以我尝试了简单的puts (@arr1 - @arr2)
但是错误的结果这里是示例代码:
@associates = params[:associate_to]
@coordinators = @guild.coordinators.pluck(:coordinator_id)
@to_add = (@associates-@coordinators)
@to_remove = (@coordinators-@associates)
puts "first array"
puts @associates
puts "----"
puts "second array"
puts @coordinators
puts "-----"
puts "calculation"
puts (@associates-@coordinators)
puts "result"
puts @to_add
这是rails服务器的结果
我究竟做错了什么?
答案
这可能是因为一个数组包含整数而另一个包含字符串。尝试将其中一个数组的元素转换为string或int。
arr.map(&:to_i)
# or
arr.map(&:to_s)
以上是关于ruby数组在rails控制器中表现得很奇怪的主要内容,如果未能解决你的问题,请参考以下文章
为什么for循环在JavaScript构造函数中表现得很奇怪?[已关闭]
在类构造函数中将此指针传递给 CreateThread 在线程过程中表现得很奇怪
没有固定大小的容器中的垂直和水平居中文本在 Firefox 中表现得很奇怪