我有一个包含许多工具的报告模型。每个工具都有一个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
我该如何解决这个问题?感谢