问题标签 [virtual-attribute]
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-on-rails - 如何在rails中获得唯一的:组虚拟属性?
我有几个类似的模型 ContactEmail、ContactLetter 等等。
每一个belongs_to
联系人
每个联系belongs_to
一个公司
所以,我所做的是为 ContactEmail 创建一个虚拟属性:
问题:如果我有一组 ContactEmails 对象(例如,来自 find(:all) 方法),如何获得所有 company_name 的简单列表(不重复)?
例如,当我尝试使用统计信息 gem 搜索 ContactEmail.company_name 时,我收到一条错误消息,指出 company_name 不是 ContactEmail 的列。
sql - 我可以根据虚拟属性计算吗?
我有以下错误:
模型 ContactEmail 没有 company_name 列。我将它创建为虚拟属性。
不能根据这些信息进行选择吗?那我该怎么办?
ContactEmail belongs_to Contact which belongs_to 公司。
ruby-on-rails - 带日期的虚拟属性
我有一个我想简化的表格。我正在记录一个开始日期和一个结束日期,但想只向用户显示一个开始日期,然后是一个带有天数的下拉列表。
但是我的模型存在问题并正确存储它。
第一部分有效。
我遇到的问题与结束日期基于 startdate + no_days 的事实有关,no_days 本身就是一个虚拟属性。我尝试将第二部分作为 after_validation 回调,但它似乎不起作用。
ruby-on-rails - after_initialize 虚拟属性
我无法在 after_initialize 方法中为虚拟属性赋值:
在我的视图文件中:
这不会返回任何输出。
对于为虚拟属性设置默认值,您有什么建议或替代方法吗?
ruby-on-rails - 视图中虚拟属性的更新值未更新模型
我正在更新视图中虚拟属性的值,但这并未反映在模型实例中。
例如:
我的模型.erb
查看.html.erb
视图输出:
但是,当我重新加载页面时,会显示相同的输出,它应该是:
我在编辑表单中看到了上述行为。当我提交表单(带有验证错误)时,它会重新加载(显示错误),但 hello_world 的值没有被更新。
你有什么建议吗? 我应该怎么做才能获得所需的行为?
ruby-on-rails - 将命名范围与 find_or_create_by 一起使用
我花了一些时间弄清楚这一点,还没有看到其他人在上面发帖,所以也许这会对某人有所帮助。另外,我没有太多的 Rails 经验,所以我会很感激任何更正或建议,尽管下面的代码似乎运行良好。
正如Railscast on virtual attributes中所讨论的那样,我已经设置了一个虚拟属性来使用 first_name 和 last_name 生成 full_name 。我也想按 full_name 搜索,所以我添加了一个 named_scope,正如Jim 的回答中所建议的那样。
但是...我希望能够将所有这些用作:find_or_create_by_full_name。创建具有该名称的命名范围仅提供搜索(它与上面的 :find_by_full_name 代码相同)——即它不符合我的要求。因此,为了处理这个问题,我为我的 User 类创建了一个名为 :find_or_create_by_full_name 的类方法
ruby-on-rails - rails 3 基于多个字段查找或创建
我正在尝试使用注释对象上的标记虚拟属性来实现一个简单的标记系统。一个标签包含一个标签和一个 user_id。我想做的是根据标签字段中的内容更新 HABTM 与笔记的关系。我知道 find_or_create_by_X 方法,是否可以对 2 个字段做类似的事情,即如果标签和用户 ID 是唯一的,则创建一个新标签,否则获取标签和用户 ID 匹配的标签。还有类似的方法来处理标签的删除吗?
ruby-on-rails - Rails - 表单助手中的虚拟属性
我在表单助手中的虚拟属性有一个奇怪的错误。
我的模型如下所示:
我正在使用 HAML 和 SimpleForm。当我像这样使用我的表格时......
...它完美地工作。但是,如果我尝试像这样访问虚拟属性...
...我收到此错误:
有什么建议么?
ruby-on-rails - 对此最好的 Rails 约定是什么?
假设您有一个完全在另一个资源的视图中创建和显示的资源(例如评论或标签)。您是否仍应将其设为自己的资源,还是将其设为嵌套资源会更好?另外,你应该使用虚拟属性吗?
我知道这个问题很笼统,但我不是在寻找具体的答案,只是对何时首选每种技术的一般解释。
ruby-on-rails - 我有用于多个虚拟属性的相同 getter/setter 代码 - 我可以用 eval 重构吗?
我已经为虚拟属性编写了自定义的 getter 和 setter 方法,以将小数转换为整数以存储在数据库中。这是从数据库中的真实属性 (annual_fee) 获取/设置的三个虚拟属性 (annual_fee_dollars) 之一:
不是重复所有这些代码三次,它是否有意义/是否安全/是否是“Rails 方式”来重构代码,如下所示:
或者有没有更简洁的方法来构建这种类型的功能?
抱歉,如果这是一个“主观问题”。在某种程度上,所有重构问题对它们都有一定的主观性,但我认为这个问题在 SO 上仍然占有一席之地。很高兴在这方面得到纠正。
干杯!