问题标签 [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.

0 投票
1 回答
347 浏览

ruby - Virtus 和布尔值转换

我正在使用 Virtus gem 并尝试将字符串自动转换为布尔值,但没有成功......如果你能看到这段代码有什么问题......

0 投票
1 回答
591 浏览

ruby-on-rails - 为什么将 virtus 与 rails form 对象一起使用?

当我在 rails 中使用表单对象模式时,我包含ActiveModel并且倾向于将属性委托给实际模型。

为什么我要使用 virtus gem?似乎我会重新定义已经在别处定义的属性(即模型)

0 投票
0 回答
811 浏览

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#L79https://github.com/solnic/virtus/blob/master/lib/virtus/attribute/hash.rb#L110

在我投入使用自己的 gem 进行调试之前,有没有人知道一个干净的解决方法,或者我什至是否正在尝试正确设置嵌套关系?

0 投票
1 回答
533 浏览

ruby-on-rails - 如何获取所有一种类型的 Virtus 属性的列表?

如何获取所有一种类型的列表?
例如,所有字符串属性的列表?有没有简单的 Virtus 解决方案,还是我必须自己动手?

我想基本上做my_model.something = [:c, :d]

或者有没有其他方法可以获取列表形式的所有字符串属性?

我的最终目标是能够根据类型将属性分解为各种验证。

0 投票
0 回答
39 浏览

ruby-on-rails - 一只猴子会如何修补这个:`include Virtus.model'?

我有一些我想添加的方法,但不是 100% 确定那里发生了什么。

它是否包括某种工厂方法?

0 投票
1 回答
236 浏览

ruby-on-rails - 如何在创建虚拟对象之前剔除属性?

我的哈希中的属性比 Virtus 在它的类中定义的要多。我想在实例化之前在 virtus 模型中剔除这些属性。

这失败了,NoMethodError: undefined method 'z=' 我只想让它默默地丢弃 z 并仍然创建对象。

我尝试覆盖初始化方法并插入一个剔除方法,但这似乎不起作用。显然,在对象创建期间大量分配属性会通过不同的途径?

剔除这些属性的最佳方法是什么?

0 投票
1 回答
868 浏览

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方法)。

0 投票
1 回答
2089 浏览

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 的好处以及它在几行中的作用,它会是什么?

0 投票
1 回答
2038 浏览

ruby-on-rails - 如何在 Rails 表单对象中实现“dry-validation”gem?

我正在尝试用 替换ActiveRecord验证Dry-validations,但我一直无法找到任何要遵循的应用内实现示例。

干验证文档:http ://dry-rb.org/gems/dry-validation/

我在下面添加了表单对象,但我不明白如何实际实现它,因此如果title未在 UI 的表单中输入验证失败。

表单对象(使用 Virtus 设置):

我以前从未使用dry-validation过 - 任何指导将不胜感激!


更新

我已经能够“让它工作”,但它仍然不像是正确的设计模式。

更新保存方法

如果有人可以分享有关适当设计模式的指导以实现dry-validationvirtus 样式的表单对象,那将非常感激!

0 投票
2 回答
364 浏览

ruby - 如何将字符串标识符存储到模型属性

我正在使用Virtus创建代表 Salesforce 对象的模型。

我正在尝试创建具有友好名称的属性,这些属性用于访问可用于检索该变量的标识符“字符串”的值和方法。

友好名称用作 getter/setter 和标识符,我可以存储与 API 名称对应的每个属性。

这是一个例子:

或者,不是在 Attribute 本身上有一个方法,而是为每个标识符集创建一个辅助方法:

我可以扩展Virtus::Attribute并添加它吗?如果是这样,我不确定如何去做。