我将在哪里放置自定义类以及如何访问它们?

时间:2009-11-03 04:51:08

标签: ruby-on-rails

我有以下课程,我想在我的应用程序中的某些控制器中访问:

class Spreedly
  include HTTParty
  base_uri 'https://example.com/api/1234'
  basic_auth 'user', 'xyz124'
  headers 'Accept' => 'text/xml'
  headers 'Content-Type' => 'text/xml'
  format :xml  
end

我将该类放在哪里,以便我可以在Spreedly.post(xyz)这样的控制器中访问它?

4 个答案:

答案 0 :(得分:4)

您只需将其放在 lib / 目录中名为 spreedly.rb 的文件中即可。它将由rails自动加载并可供使用。

答案 1 :(得分:1)

是的,但没有什么可以阻止你把它放在你的app / models目录中。

对我来说这似乎是一个更好的地方 - 因为你正在访问你的应用程序中的任何其他模型的数据,当你从你的控制器中引用Spreedly.post等时,另一个程序员自然会(imho)在应用程序中查看/ models目录首先在/ lib ..

之前

答案 2 :(得分:0)

任何需要在多个地方引用的东西或任何大的东西,我都放入了lib。如果它很小,如果它在一个模型中使用,我会把它放在同一个模型文件中。

答案 3 :(得分:0)

我非常有兴趣快速测试这些自定义类,就像我们测试任何其他模型一样。我试图将文件放在/ lib下面临的一个问题是,Spork或Zeus会重启环境以运行测试。

我喜欢在/ lib下存储文件的想法,但这使我的连续测试过程变慢。我最终把它放在app / models下。

如果有一种方法可以更轻松地在/ lib下测试文件,那就太棒了。