2011-11-02 1 views
16

Ho un crud con paperclip e immagini multiple 'implemento active_admin e l'aggiornamento del prodotto va bene, ma, non posso non caricare o modificare le immagini multiple, il modulo che ho è questo:Paperclip + Active_admin + Rails 3.0.10 più immagini

form :html => { :multipart => true } do |f| 
    f.inputs "Details" do 
    f.input :name 
    f.input :created_at, :label => "Publish Product at" 
    f.input :category 
    end 

    f.inputs "Images" do 
    f.has_many :assets do |p| 
     p.input :asset, :as => :file, :input_html => { :multiple => true }, :label => "Image", :hint => p.object.asset.nil? ? p.template.content_tag(:span, "No Image Yet") : p.template.image_tag(p.object.asset.url(:thumb)) 
     p.input :_destroy, :as=>:boolean, :required => false, :label=>'Remove' 
    end 
    end 

    f.inputs "Content" do 
    f.input :description 
    end 
    f.buttons 
end 

e la ...

f.inputs "Images" do 
    f.has_many :assets do |p| 
     p.input :asset, :as => :file, :input_html => { :multiple => true }, :label => "Image", :hint => p.object.asset.nil? ? p.template.content_tag(:span, "No Image Yet") : p.template.image_tag(p.object.asset.url(:thumb)) 
     p.input :_destroy, :as=>:boolean, :required => false, :label=>'Remove' 
    end 
    end 

voglio caricare le immagini, ma quando creo una nuova risorsa questo avere un default un'immagine mancante e non allegare l'immagine corretta, credo perché il percorso delle immagini non è corretto da caricare. Il mio modello di asset è:

class Asset < ActiveRecord::Base 
    belongs_to :product 
    has_attached_file :asset, :styles => { :large => "340x330", :medium => "140x80>", :thumb => "70x70>" }, 
    :url => "/products/:id/:style/:basename.:extension", 
    :path => ":rails_root/public/products/:id/:style/:basename.:extension" 
end 

come posso modificare il mio modulo di attività per funzionare come voglio? Grazie!

+1

si dovrebbe spostare la soluzione per una risposta e selezionare il proprio risposta. questo rimuoverà la tua domanda dall'elenco delle domande senza risposta e ti assegnerà un altro badge –

+0

Chris ha finito ... – Stanmx

risposta

7

La soluzione

Salve, ecco la soluzione, la chiave sono come funzionano gli attributi nidificati in Formtastic ...

form :html => { :multipart => true } do |f| 
    f.inputs "Product information" do 
    f.input :name 
    f.input :description 
    end 

    f.inputs "Product images" do 
    f.has_many :assets do |p| 
     p.input :asset, :as => :file, :label => "Image",:hint => p.object.asset.nil? ? p.template.content_tag(:span, "No Image Yet") : p.template.image_tag(p.object.asset.url(:thumb)) 
     p.input :_destroy, :as=>:boolean, :required => false, :label => 'Remove image' 
    end 
    end 

    f.inputs "Product details" do 
    f.input :category, :label => "Category", :hint => "Select one category" 
    f.input :height 
    f.input :width 
    f.input :depth 
    f.input :color, :label => "Color", :hint => "Select one color" 
    f.input :sku, :label => "SKU" 
    f.input :price 
    end 
    f.buttons 
end 
+0

ciao, ho provato questo, ma ottengo "metodo indefinito' has_many 'per nil: NilClass " – Richlewis

+0

Ho sbagliato numero di argomenti ... –

+0

si prega di controllare questo http://stackoverflow.com/questions/33081836/multiple-image-upload-in-active-admin-ror Anche io sto cercando ma non funziona – Harman