Errors.add,对象实例为消息

时间:2013-04-05 18:21:26

标签: ruby ruby-on-rails-3

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

从这个意义上讲,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代替,但显然无法从模型中调用(或不应该调用)。

有关如何改善此事的任何建议吗?

0 个答案:

没有答案