【问题标题】:Add html to active admin page将 html 添加到活动管理页面
【发布时间】:2014-02-14 15:44:04
【问题描述】:

我想将一些 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?

【问题讨论】:

    标签: ruby-on-rails activeadmin


    【解决方案1】:

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

    app/admin/studio.rb

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

    app/views/admin/studio/_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 %>
    

    【讨论】:

      【解决方案2】:

      活跃的管理员根据他们的文档在 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-27
        • 1970-01-01
        • 2017-04-28
        • 2011-07-27
        • 2018-05-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多