gpt4 book ai didi

ruby-on-rails - Rails 找不到与 Ruby 类同名的模型

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

我是 Ruby on Rails 的新手,我有一个带有“Set”模型的项目。这是在 Rails 2.3.2 中。现在的问题是它根本找不到该模型类的任何方法。例如:“未定义的方法 find' for Set:Class”或“undefined methoderrors' for #”。它似乎试图在 Ruby“Set”类而不是我的模型类上找到那些方法。

如果我可以像 Module::Set 这样写我的 Set 模型类的完全限定名称,它可能会起作用,但我不确定那会是什么。 (是的,我真的想要设置我的模型名称。在我的应用程序上下文中,任何其他名称都会很尴尬)。

有什么想法吗?

最佳答案

不要将其命名为 Set。那就是疯狂。

问题是定义类失败,因为您正在尝试重新定义已在全局上下文中定义的“Set”。

class Set < ActiveRecord::Base # You are attempting to define a constant 'Set'
# here, but you can't because it already exists

您可以将类放在模块中,这样就不会出现错误,因为您将在命名空间中定义 Set。

module Custom
class Set < ActiveRecord::Base
end
end

但是,每次您要使用 Set 类时,都必须将其称为 Custom::Set。很多 Rails 魔法都不起作用,因为它期望在全局上下文中定义类名。您将左右修改插件和 gem。

只是给它一个不同的名字要容易得多。

class CustomSet < ActiveRecord::Base

所有魔法都有效,而且不需要猴子补丁。

关于ruby-on-rails - Rails 找不到与 Ruby 类同名的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/960781/

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