RoR:向simple_fields_for循环添加空白字段

时间:2012-10-27 21:16:06

标签: ruby-on-rails-3 for-loop field

我确信这是一个愚蠢的问题,但我一直在寻找一段时间而没有找到答案。

我有一个使用simple_forms的嵌套表单。我使用

成功获得所有子对象
 = f.simple_fields_for :fund_levels do |fl|
     = fl.input :title
     = fl.input :description
     = fl.input :maxnumber
     = fl.input :price

这会获得所有现有的fund_levels。但是,我还想在列表末尾添加一个空白集。因此,如果没有现有的fund_levels,它只显示一个空白的“子表单”,如果有两个现有的fund_levels,它将显示这两个加上一个空白的“子表单”。

有没有一种简单的方法可以做到这一点?

2 个答案:

答案 0 :(得分:1)

在你的控制器中构建它:

@object.fund_levels.build

其中@object是传递给form_for的对象。

答案 1 :(得分:1)

您可以在视图中使用简单条件来检查是否有fund_levels并显示表单以有条件地添加新表单

- unless @fund_levels.any?
  = f.simple_fields_for @fund_levels.build do |f|
    = f.input :title
    = f.input :description
    = f.input :maxnumber
    = f.input :price