以下功能允許我建立一個查詢由url
和若干的options
:所述url
定義紅寶石:定義的「選項」按功能
require 'cgi'
require 'openssl'
require 'open-uri'
def function(url, options={})
key = '...'
secret = '...'
parameters = {
:url => url,
:param1 => options[:param1],
:param2 => options[:param2]
}
query = parameters.
sort_by {|s| s[0].to_s }.
select {|s| s[1] }.
map {|s| s.map {|v| CGI::escape(v.to_s) }.join('=') }.
join('&')
secret_key = Digest::MD5.hexdigest(url + secret_keyword)
"https://domain.com/action?key=#{access_key}&secret=#{secret}&#{query}"
end
puts function "www.domain.com"
在最後一行(puts function "www.domain.com"
) - 但我怎樣才能定義options
?
我想是這樣的:
puts function ("www.domain.com", param1 = "1", param2 = "2")
但是這顯然是錯誤的。請原諒我缺乏Ruby知識。希望有人能幫助!
左括號 –
@SergioTulentsev之前,不要把一個空間:刪除它,現在它說:'不能轉換成符號Integer' - 任何想法可能是什麼導致這個? – Frank