gpt4 book ai didi

ruby-on-rails - 如何同时以 GET 和 POST 方式传递值?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:25:41 24 4
gpt4 key购买 nike

这是一个简单的BMI计算网页程序

enter image description here enter image description here

BMI_controller.rb

 class BmiController < ApplicationController
def enter
end

def calculate
@height = params[:height].to_f
@weight = params[:weight].to_f
@bmi=(@weight/(@height*@height))
@category

if @bmi<18.5
@category= "Underweight"

end
if @bmi>18.5 and @bmi<23
@category="Normal"

end

if @bmi>23 and @bmi<25
@category= "Overweight"

end


if @bmi>25
@category="Obese"

end


end
end

计算.html.erb

  <p>Height: <%= @height %></p>
<p>Weight: <%= @weight %></p>
<p>BMI: <%= @bmi %></p>
<p>Category: <%= @category %></p>

输入_data.html.erb

`<h1>Welcome to BMI Calculator</h1>

<form action="http://localhost:3000/bmi/calculate?height=@height&weight=@weight" >
<p>Height: <input type="text" name="height"></p>
<p>Weight: <input type="text" name="weight"></p>
<br><br>
<input type="submit" namevalue="Calculate" >
</form>`

我用这种方式将@height和@weight传递到下一页并计算

 `<form action="http://localhost:3000/bmi/calculate?height=@height&weight=@weight"` >

我使用的方式叫做GET ?但是,如何做标准method="get"method="post"分别 ?

更新

但是,我发现 <form action="http://localhost:3000/bmi/calculate?height=1&weight=23212" ><form action="Calculate" >//<<=this should refer back to the function- calculate也工作。

谁能解释一下为什么?

最佳答案

不确定我是否清楚地理解您的问题,但我会尝试解释一些我认为您可能会感到困惑的事情。

如果您使用 <form method="get" action="http://example.com/action">您将发送 GET 请求并查看 URL 中的表单元素,例如http://example.com/action?height=72&weight=90 .

如您所知,method="post"将发布请求。如果您使用相同的操作,例如http://example.com/action ,您需要确保同时处理 GET 和 POST。

在您的 config/routes.rb 文件中,您需要确保您可以处理 POST 请求。你应该阅读 http://guides.rubyonrails.org/routing.html

关于ruby-on-rails - 如何同时以 GET 和 POST 方式传递值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41690268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com