0

如何使用 formtastic 或 simple_form 元素调用和运行预定义的配置块:到目前为止我做了什么:

创建表单配置(在这种情况下使用 formtastic):

AppmeConfig.register App do
  form do |f|
    f.inputs "Details" do 
      f.input :category
      f.input :slug
    end
    f.action :submit
  end
end

将块分配给模板:

def form &block
  @form = block
end

在模板中,我执行以下操作:

=semantic_form_for(@resource, &@form)

到目前为止一切正常,源代码运行......但它只输出最后一个元素(在本例中为操作按钮)。你能给我一个提示吗,怎么了?

更多信息:formtastic 和 simple_form 的输出完全相同,它不适用于普通的 .html.erb-template 而不是 .haml

4

1 回答 1

0

没有预期的那么好,但首先我想出了这个解决方案(好吧,抱歉,这是一个肮脏的黑客):

=simple_form_for @resource do |f|
  - @form.to_source(:strip_enclosure => true).to_s.split("\n").each do |line|
    = eval(line)

上面代码的解释:我使用了 sourcify 来解析整个块并在表单的上下文中对其进行评估。

我发现的主要问题是rails的form_for-helper中的构建,它不接受块输入。我错了?

于 2013-08-02T23:23:36.817 回答