将参数传递给rails中的sql查询

时间:2015-09-18 04:39:02

标签: ruby-on-rails

我正在尝试将在我的控制器中计算的值传递给模型方法,并在SELECT查询中使用它。

我计算了一个值,并希望将它作为参数传递给下面的方法作为'control',并在总和计算中使用它代替.02。下面的查询按原样工作,但如果我添加第三个参数,则将其称为“控制”并尝试在总和计算中使用它失败。我尝试了它,因为我坚持使用bom和eom值{:control =>在引号之后和括号之前控制}到SELECT语句。错误输出显示:控制等于传入的值,但它在SELECT语句的其余控制实例中出错。数据库是PostgreSQL。

 def self.rolling_total_month(bom, eom)
select("SUM((usages.usg_amount * materials.mat_voc_with)/2000) AS uc_emit_tons,
SUM(((.02) * usages.usg_amount * materials.mat_voc_with)/2000) AS c_emit_tons, 
SUM((.02) * (usages.usg_amount * materials.mat_pounds_per_gal)/2000) AS hap_tons
").
joins("JOIN materials ON usages.material_id = materials.id").
  where("usages.material_id <> 65 AND materials.mat_active_flag = TRUE AND materials.mat_report_flag = TRUE AND :bom <= usages.usg_date AND usages.usg_date <= :eom", { :bom => bom, :eom => eom })

0 个答案:

没有答案