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

如何方便地在Rails应用程序中提供一些代码?

  •  1
  • Ethan  · 技术社区  · 14 年前

    我想添加一个我编写的库到一个Rails应用程序中(稍后再添加到其他Rails应用程序中)。我试着把它放进去 /lib 这似乎是合乎逻辑的。。。

    [RAILS_ROOT]/lib/my_lib/the_main_file.rb
    [RAILS_ROOT]/lib/my_lib/some_other_file.rb
    

    然后。。。

    require 'my_lib/the_main_file'
    

    那很好。

    但这是个很好的方法吗?

    现在我得说 require 我想打电话到图书馆的任何地方。

    我想把 要求 在初始值设定项中,但这看起来有点奇怪。

    人们通常对此做些什么?

    3 回复  |  直到 14 年前
        1
  •  1
  •   vise    14 年前

    当有一个文件要包含时,使用初始化器可能看起来很奇怪,但有时我有许多文件要添加,最后使用的初始化器只包含内容。其实挺整洁的。

        2
  •  1
  •   William Exander    14 年前

    我不确定“最佳实践”(tm)或其他什么,但我们也为我们的项目做了类似的事情。图书馆在 lib ,以及 require 在初始值设定项中( app_config.rb 在我们的案例中)。这似乎是一个很好的做事方式,而且至今还没有咬到我们的屁股:)希望这会有帮助。

        3
  •  0
  •   Community Anvaka    7 年前

    我通常在课堂上把东西包起来。如果你加上 config.autoload_paths += %W(#{config.root}/lib) 给你的 application.rb 然后,对丢失常量的任何引用都将导致尝试自动加载它,即使用 MyClass.new 将使其尝试加载“lib/my_class.rb”。

    看一看 Best way to load module/class from lib folder in Rails 3?