gpt4 book ai didi

ruby-on-rails - 如何在 Rails 模型中验证字符串是否为 json

转载 作者:IT老高 更新时间:2023-10-28 12:49:19 25 4
gpt4 key购买 nike

我正在构建一个简单的应用程序,并希望能够将 json 字符串存储在数据库中。我有一个带有 json 列的表接口(interface),我希望我的 rails 模型验证字符串的值。所以像:

class Interface < ActiveRecord::Base
attr_accessible :name, :json

validates :name, :presence => true,
:length => { :minimum => 3,
:maximum => 40 },
:uniqueness => true

validates :json, :presence => true,
:type => json #SOMETHING LIKE THIS
:contains => json #OR THIS
end

我该怎么做?

最佳答案

我想您可以解析相关字段并查看它是否引发错误。这是一个简化的示例(您可能想去掉双键以更清楚一些):

require 'json'

class String
def is_json?
begin
!!JSON.parse(self)
rescue
false
end
end
end

然后您可以在自定义验证器中使用此字符串扩展。

validate :json_format

protected

def json_format
errors[:base] << "not in json format" unless json.is_json?
end

关于ruby-on-rails - 如何在 Rails 模型中验证字符串是否为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6594257/

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