代码由多个控制器和模型共享 - 哪里是保存它的最佳位置?

时间:2010-07-15 22:23:58

标签: ruby-on-rails ruby helpers

所以这是一个新手铁路设计问题。让我们说我希望我的一些常用功能可以放在一组辅助类中(作为类方法或实例方法)。

我想在控制器(不是视图)中使用这些辅助对象,甚至可能是模型。我能这样做吗?怎么样?它必须是一个模块或类,还是可以是任何东西?

这是否有特定的轨道模式?

1 个答案:

答案 0 :(得分:4)

如果它们没有绑定到三层中的一层,则应将它们放在/ lib目录中。

/ lib下的约定是你应该将文件夹命名为模块,文件和类,并且应该总是尝试将其他行为封装在模块中。比方说,你有一些课

module MyModule

  class MyHelperClass
  end

end

你应该将它放入/lib/my_module/my_helper_class.rb