gpt4 book ai didi

ruby-on-rails - 如何让事件记录像对待真实属性一样对待虚拟属性?

转载 作者:数据小太阳 更新时间:2023-10-29 07:19:37 25 4
gpt4 key购买 nike

我很高兴在 Rails 模型上使用虚拟属性(如果它们是字符串),但我也想使用其他类型的属性,例如日期或 bool 值,这样我就可以使用像 date_select 这样的助手来设置虚拟属性。

有什么好的方法吗?

就目前而言,在虚拟属性上使用 date_select 助手会引发:

1 error(s) on assignment of multiparameter attributes

虽然如果我想要一个 bool 属性,我最终会得到 @v_attribute = "true",而不是 @v_attr = true


我在某个地方找到了一个似乎有效的例子:

class MyModel
#virtual attribute
attr_accessor :v_date_field
attr_accessible :v_date_field

columns_hash["virtual_date_field"] = ActiveRecord::ConnectionAdapters::Column.new("vi_date_field", nil, "date")
end

但我真的不知道它为什么有效,是否有任何副作用,而且看起来像是 hack。

最佳答案

虚拟日期/时间属性问题是 Rails 中的一个已知问题:https://rails.lighthouseapp.com/projects/8994/tickets/2675-support-for-multiparameter-attribute-assignment-on-virtual-attribute-writers

看起来您的解决方案是当前修复它的最佳选择。

关于ruby-on-rails - 如何让事件记录像对待真实属性一样对待虚拟属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3678796/

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