gpt4 book ai didi

ruby-on-rails - Ruby Rails Lib 文件夹命名约定

转载 作者:行者123 更新时间:2023-12-03 00:42:46 25 4
gpt4 key购买 nike

我似乎在 Rails 中 Lib 文件夹的命名约定方面遇到了问题,并且提供给我的错误消息没有帮助。 [例如,我收到一条消息说 XXX::YYY::TextBox 预计将被定义为 xxx/yyy/text_box.rb,即使它在那里明确定义。] 我认为我的约定是错误的。

假设我正在处理 YourModule::MyModule::MyClass。我清楚地知道该文件应该位于

lib/your_module/my_module/my_class.rb

但是这里的实际文件应该是什么样子呢?其中哪一个(如果有的话)是正确的?

#your_module/my_module/my_class.rb
module YourModule
module MyModule
class MyClass
...
end
end
end

或者

#your_module/my_module/my_class.rb
class MyClass
...
end

换句话说,我是否需要将类嵌套在模块结构中?

最佳答案

lib 文件夹几乎没有约定,因为它不会自动加载。因此,如何组织文件取决于您,但您必须正确命名类。你的第一个例子是正确的。

要获取包含的文件,您需要指定您希望将它们包含在 application.rb 文件中,请参阅此示例:Best way to load module/class from lib folder in Rails 3?

我建议创建一个名为 lib/modules 的文件夹,因为您可能不会有太多文件夹。将文件命名为 my_class.rb。然后在 application.rb 中您需要:

config.autoload_paths += %W(#{config.root}/lib/modules)

这应该可以解决您的问题。

关于ruby-on-rails - Ruby Rails Lib 文件夹命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10166866/

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