gpt4 book ai didi

ruby-on-rails - 可以使模块名称大写吗?

转载 作者:行者123 更新时间:2023-12-02 07:59:30 25 4
gpt4 key购买 nike

lib/modules/job/web.rb

module Modules
module JOB
class Web
def self.type
end
end
end
end

我用过 - Modules::JOB::Web.type
但我收到了这个错误 -
NameError: uninitialized constant Modules::JOB 
Did you mean? Modules::Job

有什么方法可以使用 Modules::JOB ?

最佳答案

在 Rails 中,您可以使用 inflect.acronym为不遵循正常驼峰式约定的首字母缩略词设置特殊的变形规则,例如 IPAdress 或 HTTPClient。

# config/initializers/inflections.rb
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'JOB'
end

但这是一个非常糟糕的主意。 job 不是首字母缩略词,它只是公然违反最小意外原则以及 the holy Ruby naming conventions .

拥有一个名为“Modules”的模块也很愚蠢。围绕传达其实际目的的有意义的名称组织您的代码。
Modules::JOB::Web 是什么意思做? (反问)

关于ruby-on-rails - 可以使模块名称大写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59311233/

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