在formtastic或simple_form中运行config-block

时间:2013-08-02 11:07:38

标签: ruby-on-rails ruby simple-form formtastic

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

创建form-config(在本例中使用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

,它不能正常工作

1 个答案:

答案 0 :(得分: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构建,它不接受块输入。我错了?