【发布时间】:2010-08-13 07:19:12
【问题描述】:
我正在设计一个仪表板页面,它将来自多个模型的数据汇总在一个页面上。我还想在该页面上包含用于创建新项目的表单。
经过一些试验,我意识到我需要一些关于这种情况的最佳实践的建议......这是我正在尝试的 2 种方法
1) 使用嵌套的 field_fors...
form_for @job do |j|
j.fields_for :invoice do |i|
i.fields_for :charges do |c|
c.text_field :amount
或 2)
form_for @job.invoice.charges.build do |c|
c.text_field :amount
使用嵌套方法,问题是现在我有一个新对象,当它迭代现有对象时,它会在我的显示视图中抛出一个扳手。由于尚未保存新对象,因此突然尝试渲染所有 created_at 时间失败。
方法 2) 的问题是我将每个表单发布到它自己的控制器来处理它,但如果它没有验证,我需要渲染显示视图...这意味着我必须为每个控制器提供一个使用所有实例变量和方法等来呈现页面。
我还没有完全弄清楚错误处理是如何工作的。有时我的表单标有 fieldWitherrors 类,有时则没有。我一直在尝试这两种方法,但无法弄清楚。
任何人都可以就我应该去这里的方向提供建议吗?
【问题讨论】:
标签: ruby-on-rails forms