是否有任何方法可以将模型验证器序列化为json或任何其他常见模式



我有SPA和一些模型,我想为RESTapi创建表单,但我不想在JS和Ruby中重复验证器数据。

我只想从rails中获取验证器数据(必需的、只读的、类型、默认值、选项、名称、标签、help_text),并从中呈现表单

问题是我看不到任何将模型序列化为json的解决方案。有了Python,Django REST Framework,我可以发出OPTIONS请求,它会给我关于模型字段、解析器、方法等的完整信息。有没有类似的Rails解决方案?

Rails3和Rails4:MyModel.validators(railscast)中有可用的验证反射。这将为您提供一个包含所有具有选项的验证器的数组,例如:

[
    [0] #<ActiveRecord::Validations::PresenceValidator:0x007fe542431b40 @attributes=[:name], @options={}>,
    [1] #<UrlValidator:0x007fe542431050 @attributes=[:url], @options={:allow_blank=>true}>
]

如果您想获得验证错误,可以选择通过json响应传递@object.errors.messages

此外,您可以使用AMS将模型数据序列化为json(railscast)。

希望能有所帮助。

最新更新