在Sinatra中使用自定义类

时间:2012-08-04 10:35:31

标签: ruby sinatra

我正在开发一个Sinatra应用程序。为了简化结构以便于将来的支持,我添加了一些自定义类,位于单独的文件中。我要做的是让他们使用现有的助手和sinatra自己的功能(模型,会话等)而不重复代码。

例如,我有一个帮助 to_html (文本),我想在sinatra路由和我自己的类中使用它,这也是在路由中使用。

我的sinatra应用程序是用经典风格编写的(如果它对你的建议很重要)。

有可能吗?

1 个答案:

答案 0 :(得分:0)

假设您在项目的根目录中有一个帮助程序目录,您可以在用于运行服务器的应用程序文件中执行此类操作。

%w(helpers).each { |p| Dir[File.join(File.dirname(__FILE__), p, "*.rb")].each { |file| require file } }

您需要在此下方添加路线才能使用。为了使它更清洁,您还可以拥有路径/控制器目录。只需将'routes'添加到该数组:

%w(helpers routes).each { |p| Dir[File.join(File.dirname(__FILE__), p, "*.rb")].each { |file| require file } }

这将需要你的所有助手,然后你的路线。