1

我有一个带有自定义日历验证例程的表单。我希望能够向用户显示有关此错误的大量动态信息。

从这个意义上说errors.add(:base, "this is wrong because ...")不会削减它。所以我想到了将执行实际验证的对象实例传递给错误数组。我会把它留给视图,通过调用实例上的方法来挑选它想要的信息。

在我的模型验证例程中,我有:

errors.add(:date_range, [calendar] )

在视图中,我这样做:

<p><%= @event.errors[:date_range].first.first.parse_events.to_sentence %></p>

我必须添加数组文字,否则empty?rails 调用的方法会失败。

尽管这有效,但它闻起来很糟糕!我考虑过使用render_to_string,但显然不能从模型中调用(或不应该调用)。

关于如何改进这一点的任何建议?

4

0 回答 0