首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在rails中迭代散列数组,SystemStackError:堆栈级别太深了

在rails中迭代散列数组,SystemStackError:堆栈级别太深了
EN

Stack Overflow用户
提问于 2017-12-12 07:08:53
回答 1查看 54关注 0票数 0

我需要验证电话号码,这是一个哈希数组,我正在使用phony_rails来验证电话号码。例如,

Phone_number={“类型”:“国际”,“数字”:“655787”},{“类型”:“国际”,“数字”:“65578454547”}。

我需要检查这个号码是否有效的电话号码。我试过下面的代码。我该怎么做呢?我做错什么了?

代码语言:javascript
复制
validate :phone_number

  def phone_number
    phone_number.each {|phone| validates_plausible_phone phone[:number]}
  end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-12 07:47:19

只需将验证方法的名称更改为其他方法,因为类中已经有一个方法phone_number。在从phone_number方法内部调用phone_number时,需要无限循环。

代码语言:javascript
复制
validate :valid_phone_number

def valid_phone_number
  phone_number.each {|phone| validates_plausible_phone phone[:number]}
end

而且,很明显,phone_number是一个数组,所以请将它重命名为phone_numbers (复数)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47767048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档