问题标签 [virtus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - Virtus 和布尔值转换
我正在使用 Virtus gem 并尝试将字符串自动转换为布尔值,但没有成功......如果你能看到这段代码有什么问题......
ruby-on-rails - 为什么将 virtus 与 rails form 对象一起使用?
当我在 rails 中使用表单对象模式时,我包含ActiveModel
并且倾向于将属性委托给实际模型。
为什么我要使用 virtus gem?似乎我会重新定义已经在别处定义的属性(即模型)
ruby-on-rails - Virtus 是否支持 Hash[SomeKey => Array[CustomModel]] 属性?
例如:
如果我尝试创建一些这样的对象:
Array[Nested]
除了for 的强制之外,每个属性都有效:hash_array
,给了我堆栈跟踪:
所以看起来强制器没有在https://github.com/solnic/virtus/blob/master/lib/virtus/attribute.rb#L104 通过 https://github.com/solnic/virtus/正确创建blob/master/lib/virtus/attribute/collection.rb#L79和https://github.com/solnic/virtus/blob/master/lib/virtus/attribute/hash.rb#L110。
在我投入使用自己的 gem 进行调试之前,有没有人知道一个干净的解决方法,或者我什至是否正在尝试正确设置嵌套关系?
ruby-on-rails - 如何获取所有一种类型的 Virtus 属性的列表?
如何获取所有一种类型的列表?
例如,所有字符串属性的列表?有没有简单的 Virtus 解决方案,还是我必须自己动手?
我想基本上做my_model.something = [:c, :d]
或者有没有其他方法可以获取列表形式的所有字符串属性?
我的最终目标是能够根据类型将属性分解为各种验证。
ruby-on-rails - 一只猴子会如何修补这个:`include Virtus.model'?
我有一些我想添加的方法,但不是 100% 确定那里发生了什么。
它是否包括某种工厂方法?
ruby-on-rails - 如何在创建虚拟对象之前剔除属性?
我的哈希中的属性比 Virtus 在它的类中定义的要多。我想在实例化之前在 virtus 模型中剔除这些属性。
这失败了,NoMethodError: undefined method 'z='
我只想让它默默地丢弃 z 并仍然创建对象。
我尝试覆盖初始化方法并插入一个剔除方法,但这似乎不起作用。显然,在对象创建期间大量分配属性会通过不同的途径?
剔除这些属性的最佳方法是什么?
ruby-on-rails - 使用带有嵌套数组或哈希对象的 Storext(或只是 Virtus)
我有一个 postgres 数据库支持我的 Rails 应用程序,它带有一个带有 jsonb 列的类
但是终端中的 Foo 正在返回undefined method after_initialize for Foo:Class
有没有办法像嵌套Storext
模型一样嵌套模型Virtus
?如果是这样,是否有一种惯用的方法可以在嵌套类上添加验证?(放弃 Storext,纯 Virtus 解决方案也可以回答这个问题)
也许这是一个 A/B 问题,因为我刚刚在 FooCollection 中包含了 Virtus,它也从data
哈希中消失了(我认为这很奇怪,因为Storext
它基于Virtus
并且可以接受Virtus
方法)。
ruby-on-rails - Ruby 的 Virtus gem 与 attr_accessor
我正在查看一些关于 Ruby 中的 Service 对象的教程中使用的 Virtus gem。在 github 页面https://github.com/solnic/virtus中,它给出了以下示例。
将 Virtus 与类一起使用
您可以创建使用 Virtus 扩展的类并定义属性:
我可以看到该示例是如何工作的,但想了解这与仅在 Ruby 中定义 attr_accessors 有何不同?如果我必须向某人解释,包含 Virtus gem 的好处以及它在几行中的作用,它会是什么?
ruby-on-rails - 如何在 Rails 表单对象中实现“dry-validation”gem?
我正在尝试用 替换ActiveRecord
验证Dry-validations
,但我一直无法找到任何要遵循的应用内实现示例。
干验证文档:http ://dry-rb.org/gems/dry-validation/
我在下面添加了表单对象,但我不明白如何实际实现它,因此如果title
未在 UI 的表单中输入验证失败。
表单对象(使用 Virtus 设置):
我以前从未使用dry-validation
过 - 任何指导将不胜感激!
更新
我已经能够“让它工作”,但它仍然不像是正确的设计模式。
更新保存方法
如果有人可以分享有关适当设计模式的指导以实现dry-validation
virtus 样式的表单对象,那将非常感激!
ruby - 如何将字符串标识符存储到模型属性
我正在使用Virtus创建代表 Salesforce 对象的模型。
我正在尝试创建具有友好名称的属性,这些属性用于访问可用于检索该变量的标识符“字符串”的值和方法。
友好名称用作 getter/setter 和标识符,我可以存储与 API 名称对应的每个属性。
这是一个例子:
或者,不是在 Attribute 本身上有一个方法,而是为每个标识符集创建一个辅助方法:
我可以扩展Virtus::Attribute并添加它吗?如果是这样,我不确定如何去做。