gpt4 book ai didi

ruby - Rails 4 验证不起作用

转载 作者:数据小太阳 更新时间:2023-10-29 08:38:03 26 4
gpt4 key购买 nike

我有一个模型,如果它是我从其他人的 API 获得的数组的一部分,我想验证该名称。

class Model < ActiveRecord::Base
validate :exists_at_api?

def exists_at_api?
api_data.detect { |d| d == self.name }
end
end

发送无效数据时出现问题

验证被调用,并返回 false,但模型仍被保存。

我也尝试了上述的这种变体,结果相同:

validate :name, if: :exists_at_api?

我确定这很简单,有人可以指出正确的方向吗?

最佳答案

您需要向 errors 散列添加一些内容以指示失败。参见 the Rails documentation有关详细信息和示例。

尝试这样的事情:

validate :exists_at_api?

def exists_at_api?
if api_data.detect { |d| d == self.name }
errors.add(:name, "can't be whatever...")
end
end

关于ruby - Rails 4 验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22669655/

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