【发布时间】:2015-01-20 11:57:17
【问题描述】:
我正在编写一个 Redmine 插件,该插件应检查是否根据其他字段中的值填充问题的某些字段。
我编写了一个实现validate 回调的插件,但我不知道如何检查将要保存的字段值。
这是我目前所拥有的:
module IssuePatch
def self.included(receiver)
receiver.class_eval do
unloadable
validate :require_comment_when_risk
protected
def require_comment_when_risk
risk_reduction = self.custom_value_for(3)
if risk_reduction.nil? || risk_reduction.value == 0
return true
end
comment2 = self.custom_value_for(4)
if comment2.nil? || comment2.value.empty?
errors.add(:comment2, "Comment2 is empty")
end
end
end
end
end
这里的问题是 self.custom_value_for() 返回值 已经写入 到数据库,但不是 将要写入的值,因此验证不会工作。如何检查从网络表单传递的值?
任何帮助将不胜感激。
【问题讨论】:
-
custom_value_for是哪个方法? -
@Rodrigo,这是一个问题模型方法
-
对不起,我不知道Redmine!但本指南可以帮助您:guides.rubyonrails.org/…
标签: ruby-on-rails ruby redmine ruby-on-rails-plugins