繁体   English   中英

如何在Ruby on Rails 4中使用来自params数组的数据?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM