gpt4 book ai didi

ruby-on-rails - "TypeError: can' t 引用“使用自定义类型和属性 API 时

转载 作者:行者123 更新时间:2023-12-05 07:27:57 25 4
gpt4 key购买 nike

我在尝试使用 Attributes API 来允许我的 ActiveRecord 模型中的自定义类型时遇到了问题。在我尝试建立关系之前,我可以让一切正常工作。当我这样做时,我收到一个 TypeError: can't quote 错误。这似乎是由 ActiveRecord 在尝试“引用”属性时引起的。我假设它在引用之前序列化属性。有人看到我遗漏了什么吗?

型号:

class MyClass < ActiveRecord::Base
attribute :my_attr, :my_custom
has_many :others, primary_key: :my_attr
end

属性类型:

class MyCustomType < ActiveRecord::Type::String

def deserialize(value)
MyCustom.new(value)
end

def cast(value)
MyCustom.new(value)
end

def serialize(value)
value.to_s
end

end

最佳答案

Tom,将自定义类型添加到相应类的属性中。这将告诉 Rails 在处理关系时如何处理两个不同类的该属性。

class Other < ActiveRecord::Base
attribute :my_attr, :my_custom
belongs_to :my_class, primary_key: :my_attr
end

关于ruby-on-rails - "TypeError: can' t 引用“使用自定义类型和属性 API 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53672354/

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