Insert a non-input row into a Formtasic form

activeadmin, formtastic, ruby-on-rails-3

Solution

To insert any custom code in any place, you may use `f.form_buffers.last`:

form do |f|
  f.form_buffers.last << "<p>Hello world!</p>".html_safe # The simple way

  ft = f.template # just a helper variable

  f.inputs "Foo" do
    f.input :title

    f.form_buffers.last << ft.content_tag(:li) do
      ft.content_tag(:p, "Hello again!") +
          ft.tag(:input, type: :hidden, name: "bar[]", value: "baz")
    end
    f.input :path
  end
end

Just be careful about the HTML structure. If you call this from `f.inputs` block, your code will be placed inside an `<ol>` element. On the "form" level, you are inside a `<form>` element.

A little warning: As with any "undocumented feature" this method may change without warning in any new release.

Problem

I am using Formtastic 2.1.1 in Rails 3.2 (with Active Admin) and I want to insert a row into my form that does not have an input field present. Is this possible and what is the syntax in the Formtastic DSL to achieve this? Here's an example: ``` form do |f| f.inputs "Model Info" do f.input :title f.input :published f.input :path end end ``` I'd like to do something like this: ``` form do |f| f.inputs "Model Info" do f.input :title f.input :published f.input :path f.div "This is some important text that people using this form need to know" end end ``` Has anyone done this with Formtastic before?

Original source