2015-10-25 51 views
1

我想使用一個環境變量作爲API密鑰,但使用它時一次。 Ruby解釋器給我不斷的初始化錯誤。任何人都可以在這個上畫一些光。我似乎沒有找到資源來解釋如何在聲明後使用它們。這是我的代碼如何使用聲明的環境變量

require 'httparty' 

class Recipe 
    include HTTParty 

    ENV['FOOD2FORK_KEY'] = 'key' 
    base_uri 'http://food2fork.com/api' 
    default_params key: FOOD2FORK_KEY 
    format :json 

    def self.for term 
    get("", query: { q: term}) 
    end 

end 

回答

2

您訪問的環境變量與ENV class

default_params key: ENV['FOOD2FORK_KEY'] 

你一般不應設置環境變量Ruby應用程序中,也許除了測試。它們應該由調用您的應用程序的系統來設置。

+0

感謝您的答案。我忽略了 - >在文檔中作爲哈希火箭:( – gates

+0

你可以給我一些關於系統調用你的應用程序部分 – gates

+0

@gates的例子當然。把API鍵放在環境變量中,這樣它們就不會在程序中被硬編碼,或者出於靈活性和安全的原因被寫入到磁盤上的文件中。當你啓動應用程序時,在shell中設置FOOD2FORK_KEY環境變量,如$ FOOD2FORK_KEY ='deadbeef ruby​​ -e'puts ENV [「FOOD2FORK_KEY」]''。 – Schwern