Ruby - 从 URL 参数中检索值
Ruby - Retrieve a value from URL params
我对此完全陌生,请原谅我的无知,但我正在尝试将一个动态值传递到一个函数中,该函数使所有素数的总和达到一个限制。我在 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
primes.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 做的事..你明白了
# app.rb
require 'sinatra'
get '/' do
erb :index
end
get '/primes' do
@sum = Primes.sum_to(params[:prime_limit].to_i)
erb :primes
end
class Primes
def self.sum_to(limit)
# TODO - add your prime number solution here...
require 'prime'
Prime.each(limit).inject(:+)
end
end
params[]
散列存储查询字符串和表单数据。因此,当您使用看起来像 example.com/app/?arg=3
的查询字符串抛出 GET 请求时,params[:arg]
被设置为 3
。
您也可以在 sinatra 中执行 get '/app/:arg' do
,这使得 /app/45
存储 params[:arg] = 45
。 Sinatra 是一个简单但功能强大的工具,文档也不长。我认为值得浏览全部或大部分内容。
我对此完全陌生,请原谅我的无知,但我正在尝试将一个动态值传递到一个函数中,该函数使所有素数的总和达到一个限制。我在 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
primes.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 做的事..你明白了
# app.rb
require 'sinatra'
get '/' do
erb :index
end
get '/primes' do
@sum = Primes.sum_to(params[:prime_limit].to_i)
erb :primes
end
class Primes
def self.sum_to(limit)
# TODO - add your prime number solution here...
require 'prime'
Prime.each(limit).inject(:+)
end
end
params[]
散列存储查询字符串和表单数据。因此,当您使用看起来像 example.com/app/?arg=3
的查询字符串抛出 GET 请求时,params[:arg]
被设置为 3
。
您也可以在 sinatra 中执行 get '/app/:arg' do
,这使得 /app/45
存储 params[:arg] = 45
。 Sinatra 是一个简单但功能强大的工具,文档也不长。我认为值得浏览全部或大部分内容。