代码之家  ›  专栏  ›  技术社区  ›  Sniggerfardimungus

Rails:模型依赖类位置的最佳实践?

  •  4
  • Sniggerfardimungus  · 技术社区  · 15 年前

    我有一个Rails应用程序运行得相当好,但我自己做这件事意味着一些可怜的SOD最终会看到这个,然后说,“你到底在想什么?”你为什么把这个放在这里????“

    那个可怜的,可怜的灵魂会在哪里看到一系列类,除了一个模型类之外,其他类都不使用?很明显,我可以把它和类the model一起放到model.rb中,但这可能会扩展到计划的两个类之外…

    我考虑过Lib,但它不需要扰乱每个人对世界的看法……

    谢谢您。

    我的前任谢谢你。

    2 回复  |  直到 15 年前
        1
  •  4
  •   Jim Puls    15 年前

    把他们留在 the_model.rb 直到你在多个地方需要它们。如果您不必要地重构,那么您所做的并不是可能工作的最简单的事情。 You aren't gonna need it .

    此时,一般的模式是为“关注点”创建一个目录。见 this weblog post by Jamis Buck this one by Peter Marklund 更多信息。

        2
  •  0
  •   levinalex    15 年前

    通常:在将类名转换为文件系统位置时,遵循Rails命名约定。(那就是:继续上课 FooHelper::Bar 在里面 foo_helper/bar.rb )

    您可以为只使用一次的小助手类设置异常,并将它们保存在与模型相同的文件中,但这些应该是异常。(但反过来也一样,不要创建一行数千个单行文件)

    使用模块和类名称空间对您有利。如果您有一个仅由模型使用(并且依赖于模型)的助手类,请将它们放入模型类的命名空间中:

    class TheModel::HelperClass
    end
    

    文件系统中的位置将是 app/models/the_model/helper_class.rb

    并且一些不依赖于模型的东西可能仍然可以被命名为名称空间

    module Bar
      class Foo
      end
    end
    

    生活在 bar/foo.rb 当然

    你不应该害怕把非模特的东西放进去 lib --这就是这个目录 对于

    我会说 concerns 虽然有用,但不是真正正确的方法,因为这是一种分割 单一的 将类分成多个文件,但您似乎没有这样做。