4

我正在尝试在 active_admin 模型中构建一个带有 formtastic 的表单。问题是我需要直接在表单内部或周围使用某个脚本标记和其他原始 HTML 内容。

我正在使用普通表单块:

form do |f|
    f.inputs :name => "User Details", :for => :user do |user_form|
    user_form.input :first_name, :required => true
    ...

如何在两者之间嵌入一个简单的div标签?甚至是脚本标签?

我考虑过使用 a render :partial,但我想先知道上述方法是否可行。谢谢!

4

3 回答 3

9

您可以像这样插入 div 或 javascript:

   f.form_buffers.last << content_tag(:div, "Div content here")
   f.form_buffers.last << javascript_tag("alert('hi');")
于 2012-07-26T17:42:06.757 回答
5

在当前的 ActiveAdmin 中,不推荐使用 form_buffers。相反,可以执行以下操作:

insert_tag(Arbre::HTML::Div) { content_tag(:span, "foo") }
于 2015-01-04T15:46:41.350 回答
1

活动管理员根据他们的文档在 Formtastic 之上创建了一个 DSL

https://github.com/activeadmin/activeadmin/blob/master/docs/5-forms.md

所以你现在可以这样做:

form do |f|
  f.semantic_errors(*f.object.errors.keys)

  import_errors = self.controller.instance_variable_get("@errors")
  if import_errors.present?
    ul class: 'errors' do
      import_errors.each do |e|
        li e
      end
    end
  end
 # ...
end
于 2017-05-16T18:15:27.383 回答