对于图像字段不显示在主动管理形式(fields for images don't displ

2019-09-19 20:16发布

宝石 “formtastic”, “〜> 2.1.1” 宝石 “activeadmin”, “〜> 0.4.2” 宝石 “纸夹”

为照片做场在主动管理表单应用程序/视图/管理/产品/ _form.html.erb没有显示,但在应用程序/视图/产品相同的形式/ _form.html.erb产品的意见,工作正常

>应用/管理/ products.erb

ActiveAdmin.register Product do
form :partial => "form"
end

应用程序/视图/管理/产品/ _form.html.erb

    <%= semantic_form_for  [:admin , @product ], :html => { :multipart => true } do |f| %>
    <%= f.semantic_errors :name , :price , :description, :category_id %>

    <%= f.inputs :new_product do%>
        <%= f.input :name %>
        <%= f.input :price %>
        <%= f.input :description %>
        <%= f.input :category_id , :as => :select , :collection => Hash[Category.all.map{|c| [c.name, c.id]}] %>
    <% end %>    

  <%= f.inputs "Product images" do %>
     <%= f.fields_for :prod_images do |p| %>

         <%= p.input :photo, :as => :file, :label => "Image",:hint => p.template.image_tag(p.object.photo.url(:thumb)) %>

         <%= p.input :_destroy, :as=>:boolean, :required => false, :label => 'Remove image' ,:hint => p.object.new_record? ? p.template.image_tag(p.object.photo.url(:thumb)) : p.template.image_tag(p.object.photo.url(:thumb)) %>

     <%end%> 
  <% end %>      

  <%= f.actions do %>
     <%= f.action :submit , :as => :button %>
  <% end %>

<% end %>

Answer 1:

我找到了解决办法。

如果你想使用回形针与active_admin你无法呈现的外形,becouse它不能够使用它的has_many关联。 我的解决方案:

ActiveAdmin.register Product do
  form :html => { :multipart=>true } do |f|
    f.inputs :new_product  do
      f.input :name
      f.input :price
      f.input :category
      f.input :description

      f.has_many :prod_images  do |p|
        p.input :photo, :as => :file, :label => "Image",:hint => p.template.image_tag(p.object.photo.url(:thumb)) 
        p.input :_destroy, :as=>:boolean, :required => false, :label => 'Remove image'
      end
    end

    f.buttons  
  end
end


Answer 2:

人们来这里寻找显示回形针的解决方案上传的图片在主动管理编辑/新形式。

ActiveAdmin.register Product do

  form :html => { :enctype => "multipart/form-data" } do |f|
    f.inputs do
      f.input :title
    end

    f.inputs for: :prod_images do |product_image|
      if product_image.object.new_record?
        product_image.input :image
      else
        product_image.input :image, as: :file, hint: product_image.template.image_tag(product_image.object.image.url(:thumb))
      end
    end

    f.buttons
  end

这里的主要想法是使用提示的属性。



文章来源: fields for images don't displays in active admin form