超出记录范围的验证

时间:2011-10-28 15:24:48

标签: ruby-on-rails validation associations

我有一个包含许多工具的报告模型。每个工具都有一个working_hours属性。工作时间属性表示工具使用的总小时数 - 您知道,以跟踪服务时间。

有问题的验证的想法是确保该工具一天不超过24小时使用。我试过以下代码

class DayHoursValidator < ActiveModel::EachValidator

  def validate_each record, key, value
    most_recent_report = Report.where('tool_name LIKE ?', "%#{record.report.tool_name}%").last
    record.errors[key] << "has done more than 24 hours in a day" if value - most_recent_report.toolbox[attrubute] > 24
  end
end

我在代码的#{record.report.tool_name}方面遇到错误,因为记录的report_id为零。

在控制器中,我有@report.build_toolbox - 我认为 - 应该建立关联;从而设置report_id

我该如何解决这个问题?感谢

0 个答案:

没有答案