"Germany" } 在我的模型中,我想验证输入的值是: 礼物 我的国家代码-6ren">
gpt4 book ai didi

ruby-on-rails - 验证模型字段 : if value equals a key in a hash

转载 作者:行者123 更新时间:2023-12-04 09:42:33 25 4
gpt4 key购买 nike

在初始化程序中,我有一个巨大的 国家代码 哈希,格式为:

{ :us => "United States, :de => "Germany" }

在我的模型中,我想验证输入的值是:
  • 礼物
  • 我的国家代码哈希的键

  • 我该如何解决这个问题?

    我不能使用:
    validates :country, :presence => true,
    :inclusion => { :in => COUNTRY_CODES }

    我尝试过自定义验证器,但是当值为 nil 时出现方法错误,例如当我尝试使用 value.to_sym 时,导致我验证验证器并且它变得困惑。

    试图找出最干燥和最有效的方法。

    最佳答案

    您需要收集 COUNTRY_CODES 键(符号)作为字符串并验证是否包含。所以使用:

    validates :country, :presence => true,:inclusion => { :in => COUNTRY_CODES.keys.map(&:to_s) }

    关于ruby-on-rails - 验证模型字段 : if value equals a key in a hash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7483583/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com