2011-01-10 38 views
0

由於我正在爲我的RoR3應用程序開發「安全」OAuth協議,因此我需要通過Internet發送受保護的信息,因此我需要使用HTTPS連接(SSL/TSL)。我讀How to Cure Net::HTTP’s Risky Default HTTPS Behavior aticle提到'always_verify_ssl_certificates'寶石,但是,因爲我希望儘可能更「純」(這意味着:我不想安裝其他寶石,但我嘗試用Ruby on Rails做所有事情)我想在不安裝新寶石的情況下完成這項工作。關於使用Ruby on Rails的HTTPS連接的建議

我讀到了關於'open_uri'(它也在linked article中提到:「open_uri是一個常見的異常 - 它讓事情變得正確!」)來自Ruby OOPL,我認爲它可以做同樣的工作。

因此,對於我的需求,'open_uri'是最好的選擇(雖然它比'always_verify_ssl_certificates'gem更復雜)?如果是這樣,有人可以幫助我使用(如果可能的話,舉一個例子),因爲我還沒有找到好的指導?

回答

1

你應該找到最適合這份工作的工具並使用它。你不應該試圖將庫的使用限制在Rails和Ruby標準庫中,因爲這兩者並不總能爲你提供所需的一切。正如你所指出的那樣,你找到了正確的工具 - 不要因爲它不是「官方」的Ruby或Rails的一部分就拒絕它。

您可以使用Bundler輕鬆管理您的應用程序需要哪些寶石,這樣團隊中的每個人都可以使用單個命令始終安裝和運行應用程序,包括自動安裝所有gem依賴項。默認情況下,Rails 3與Bundler集成,並期望您將使用Bundler來管理所有的gem依賴項。

+0

順便說一句:在這個時候我在本地主機,但是,當我要去使用RoR託管服務時,安裝新寶石的成本會更高? – user502052

+0

這取決於託管服務。例如,Heroku(http://heroku.com)允許您安裝任何您想要的寶石,不收取額外費用。如果你運行你自己的雲服務器,你可以安裝你喜歡的任何東西。 – yfeldblum

+0

非常感謝。無論如何,我會給讀一讀'open_uri'。如果您在網上告訴我一些有用的和特定的資源,您會很高興。 – user502052