我有以下课程,我想在我的应用程序中的某些控制器中访问:
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)这样的控制器中访问它?
答案 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下测试文件,那就太棒了。