来自嵌套/非嵌套和验证的rails中多个模型的最佳实践

时间:2009-05-21 17:19:08

标签: ruby-on-rails validation forms

注意: 根据Brian的评论(来自how to handle multiple models in a rails form

将此作为单独的问题发布

当模型既嵌套又非嵌套时,我正在尝试学习以单轨形式处理多个模型的最佳方法。对于嵌套的,我发现这两个教程是有用的

http://weblog.rubyonrails.org/2009/1/26/nested-model-forms http://railsforum.com/viewtopic.php?id=717

我的问题是:

  1. 对于非嵌套模型,如何处理第二个模型的多个条目?只需运行一个循环,然后使用fields_for?
  2. 在嵌套/非嵌套情况下,当第二个模型有多个条目时,如何验证重复值?例如,如果project是主要的,task是辅助(子)模型,并且用户为项目添加了多个任务,那么如何确保没有为该特定模型添加重复任务? 一种方法是循环文本值,并检查重复项。有没有更好的方法,在对象级别,而不是字符串级别?

2 个答案:

答案 0 :(得分:2)

您可能需要查看此处理多个实例:

http://railscasts.com/episodes/73-complex-forms-part-1

另外,我想我已经在这里回答了你的第二个问题:

validating multiple models in a rails form

答案 1 :(得分:1)

你应该看看Presenter模式,这对我帮助很大!

你可以从这里开始:

http://blog.jayfields.com/2007/03/rails-presenter-pattern.html