0

我有一个表格,当最大限度地简化时,它看起来像这样。

ActiveAdmin.register Foo do
  form do |f1|
    f1.inputs 'DeepFoos' do
      f1.has_many :deep_foos do |f2|
        f2.input :name

        f2.inputs "DeeperFoos for #{f2.object.name}" do
          f2.has_many :deeper_foos do |f3|
            f3.input :color
          end
        end
      end
    end
  end
end

当我使用 activeadmin0.6.6时,使用双嵌套资源时效果很好。更新到 后1.0.0.pre5,表单的DeeperFoos输入部分消失了。也不例外,页面的html源代码中也没有。它只是消失了。

奇怪的是,如果我删除说 的行,f2.input :name输入会DeeperFoos再次呈现。

我尝试在其中放置一个调试器,并且调试器被命中,但是 gem 是如此间接和元编程,以至于我不知道如何从中获得洞察力。

我在activeadmin 升级文档或formtastic 升级文档中找不到任何相关内容(作为依赖项,从2.2.1to升级3.1.5)。

4

1 回答 1

1

这可能是由于重写以将 Arbre 集成到表单中。欢迎您打开表单问题,但我现在已经放弃将 Arbre、Formtasic 和 ActionView 修补在一起:因为您发现它很丑,因为它们并不总是共享相同的输出缓冲区。ASFAIK 很少尝试使用嵌套的 has_many。你能把输入移到输入下面吗?删除空行?这可能只是摆弄并采取最佳妥协的情况。

于 2017-09-19T17:53:44.560 回答