[英]How do I use data from the params array in Ruby on Rails 4?
我有一种形式,该形式将多个数字传递给称为“计算”的方法。 我需要使用这些数字来计算方程式并产生结果。
params.inspect产生以下输出:
{“ utf8” =>“✓”,“ authenticity_token” =>“ Mi7YZLMPbbYXozIE / XkC53Qhpck + kCihnp0sLuPSwEs =”,“ braidcalc” => {“ braider_id” =>“ 6”,“ number_of_carriers” =>“ 24”,“ carrier_speed “ =>” 90“,” capstan_diameter“ =>” 24“,” core_diameter“ =>” 1“,” wire_diameter“ =>” 1“,” wire_material“ =>” copper“},” commit“ =>”运行计算”,“控制器” =>“开始”,“操作” =>“计算”}
我似乎无法正确理解语法。 我知道这个示例离正确的语法还很远,但是它可以传达我要完成的工作:
def calculate (number_of_carriers, carrier_speed, capstan_diameter, core_diameter, wire_diameter)
result = <calculation using numbers from params>
return result
end
我是Ruby on Rails的新手,我正在翻译Visual Basic中的旧应用程序以学习它。
在控制器中,您可以执行以下操作:
braidcalc = params[:braidcalc]
result = calculate(braidcalc[:number_of_carriers], braidcalc[:carrier_speed], braidcalc[:capstan_diameter], braidcalc[:core_diameter], braidclac[:wire_diameter])
在您的方法中:
def calculate (number_of_carriers, carrier_speed, capstan_diameter, core_diameter, wire_diameter)
result = number_of_carrier.to_i + carrier_speed.to_i # or whatever
return result
end
假设calculate
方法是在同一控制器中定义的,那么在这种情况下,您无需传递params
因为它们在控制器中易于使用和访问。
这是calculate
方法的外观:
def calculate
result = params[:braidcalc][:number_of_carriers].to_i + params[:braidcalc][:carrier_speed].to_i ## perform calculations as per your requirement
return result
end
您可以使用以下命令从同一控制器的任何其他操作中调用它:
def action_name
result = calculate
....
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.