Ruby on rails 由多个控制器和模型共享的代码——最好存放在哪里?
这是一个新手rails设计问题。假设我希望我的一些常用功能位于一组帮助器类中(作为类方法或实例方法) 我想在控制器(不是视图)内使用这些辅助对象,甚至可能是一个模型。我可以这样做吗?怎样?它必须是模块或类还是可以是任何东西Ruby on rails 由多个控制器和模型共享的代码——最好存放在哪里?,ruby-on-rails,ruby,helpers,Ruby On Rails,Ruby,Helpers,这是一个新手rails设计问题。假设我希望我的一些常用功能位于一组帮助器类中(作为类方法或实例方法) 我想在控制器(不是视图)内使用这些辅助对象,甚至可能是一个模型。我可以这样做吗?怎样?它必须是模块或类还是可以是任何东西 有专门针对rails的模式吗?如果它们没有绑定到三层中的一层,那么应该将它们放在/lib目录中 /lib下的约定是,您应该将文件夹命名为模块、文件和类,并且应该始终尝试将其他行为封装在模块中。比如说,你上了一些课 module MyModule class MyHelp
有专门针对rails的模式吗?如果它们没有绑定到三层中的一层,那么应该将它们放在/lib目录中 /lib下的约定是,您应该将文件夹命名为模块、文件和类,并且应该始终尝试将其他行为封装在模块中。比如说,你上了一些课
module MyModule
class MyHelperClass
end
end
你应该把它放在/lib/my_module/my_helper_class.rb中所以如果我不遵循这个惯例,rails基本上就不能加载我的类了?我还可以在我的模型和控制器中使用MyHelperClass吗?如果不遵循此约定,则必须手动加载它们(请参阅)。MyHelperClass将可用于这两个应用程序;只需确保加载时使用其全名(MyModule::MyHelperClass)或在类中包含模块MyModule。标题不正确:“Rails帮助程序类和模块上的问题”。好标题:“由多个控制器和模型共享的代码——最好存放在哪里?”:-)