我正在尝试使用formtastic在active_admin模型中构建一个表单。 问题是我需要在表单内部或周围直接使用某个脚本标记和其他原始HTML内容。
我正在使用普通表单块执行此操作:
form do |f|
f.inputs :name => "User Details", :for => :user do |user_form|
user_form.input :first_name, :required => true
...
如何在中间嵌入一个简单的 div 标记? 甚至是脚本标签?
我考虑使用render :partial
,但我想知道上述方法是否可行。谢谢!
答案 0 :(得分:7)
您可以像这样插入div或javascript:
f.form_buffers.last << content_tag(:div, "Div content here")
f.form_buffers.last << javascript_tag("alert('hi');")
答案 1 :(得分:5)
在当前的ActiveAdmin中,不推荐使用form_buffers。相反,它可以执行以下操作:
insert_tag(Arbre::HTML::Div) { content_tag(:span, "foo") }
答案 2 :(得分: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