将html添加到活动管理页面

时间:2014-02-14 15:44:04

标签: ruby-on-rails activeadmin

我想在活动的管理表单中添加一些html或div,以便我可以将jquery文件上传器进度条添加到活动的管理表单页面。目前,我的表单如下所示:

  form(:html => { :multipart => true}) do |f|
    f.inputs "Studio" do
      f.input :name
      f.input :position
      f.input :description
      f.input :image, :label => "Image - (must be 335x221px)"
      f.input :gallery_image, :label => "Image - (must be 600x400px)"
    end
    f.actions 
  end

假设我想在每个上传者上方添加一个div以显示我的上传进度,我将如何在每个上面添加某种div?

2 个答案:

答案 0 :(得分:3)

您应该将表单移动到视图并在那里进行修改。

app / admin / studio.rb

form do |f|              
    render partial: 'form'                        
end  

应用/视图/管理/工作室/ _form.html.erb

<%= form(:html => { :multipart => true}) do |f| %>
    <div class="progress">...</div>
    <%= f.inputs "Studio" do %>
         <%= f.input :name %>
         <%= f.input :position %>
         <%= f.input :description %>
         <%= f.input :image, :label => "Image - (must be 335x221px)" %>
         <%= f.input :gallery_image, :label => "Image - (must be 600x400px)" %>
    <% end %>
    <%= f.actions  %>
<% end %>

答案 1 :(得分: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