我有一个带有自定义日历验证例程的表单。我希望能够向用户显示有关此错误的大量动态信息。
从这个意义上讲,errors.add(:base, "this is wrong because ...")
不会削减它。所以我有了一个想法,将对象执行实际验证的对象实例传递给errors数组。我希望通过调用实例上的方法来查看它想要的信息。
在我的模型验证程序中,我有:
errors.add(:date_range, [calendar] )
在视图中,我这样做:
<p><%= @event.errors[:date_range].first.first.parse_events.to_sentence %></p>
我必须添加数组文字,否则rails调用的empty?
方法将失败。
即使这样有效,也闻起来很糟糕!我想过使用render_to_string
代替,但显然无法从模型中调用(或不应该调用)。
有关如何改善此事的任何建议吗?