我完全陌生,所以你不得不原諒我的無知,但我試圖將一個動態值傳遞給一個函數,該函數將所有素數的總和提高到一個限制。我在網址參數傳遞的動態極限通過,但似乎無法使其工作:Ruby - 從URL中檢索一個參數
index.erb:
<form action="/primes">
<input type="text" name="prime_limit" value="<%= @limit %>">
<input type="submit" value="Get Primes">
</form>
app.rb:
get '/primes' do
# TODO - Can we make this dynamic?
limit = uri.params['prime_limit']
# TODO - add your prime number solution in the primes.rb file.
@sum = Primes.sum_to(limit)
erb :primes, :layout => :main
end
素數。 RB:
require 'uri'
require 'cgi'
uri = URI.parse(@object.location)
uri_params = CGI.parse(uri.query)
class Primes
def self.sum_to(limit)
# TODO - add your prime number solution here...
require 'prime'
Prime.each(limit).inject(:+)
end
end
primes.erb:
<h1>Prime Numbers</h1>
Sum : <%= @sum %>
<div>
<a href="/">Back</a>
</div>
任何幫助將非常感激。
謝謝
它看起來不像鐵軌。是sinatra嗎? – BroiSatse
非常抱歉,是的,它是Sinatra。這就是你在這裏處理的水平! –
Sinatra自動將URL參數分析到'params'哈希。你不需要自己解析它。只需訪問'params ['prime_limit']'。這在Sinatra自述文件的第一部分中已經介紹過了,路徑如下:http://www.sinatrarb.com/intro.html#Routes –