Ho un modello Artwork con un attributo immagine in cui Carrierwave è montato. Mentre scrivevo le specifiche del controller, mi sono reso conto che il campo dell'immagine rimaneva vuoto, anche quando pensavo di passare in un oggetto file.Quali parametri devo passare nel controller per un modello montato su Carrierwave?
Le mie informazioni di debug mi dicono che il problema riguarda l'attributo dell'immagine su cui CarrierWave è montato e non qualcos'altro. Non penso di passare le informazioni di cui ha bisogno, ma non so cosa provare.
Ecco il l'azione di controllo, con alcune informazioni di debug per identificare il problema:
def create
@artwork = @imageable.artworks.new(params[:artwork])
logger.debug "Artwork should be valid: #{@artwork.valid?}"
logger.debug "Errors: #{@artwork.errors.full_messages}"
if @artwork.save
flash[:success] = "Artwork created."
redirect_to [@imageable, :artworks]
else
flash[:error] = "Artwork not created."
render :new
end
end
nel log di test vedo questo dopo aver eseguito le mie specifiche:
Processing by ArtworksController#create as HTML
Parameters: {"artwork"=>{"image"=>"#<File:0x4515480>", "title"=>"Portrait","year"=>"2012", "surface_type"=>"canvas", "size"=>"10 x 10", "price"=>"100.0", "for_sale"=>false, "prints_available"=>false, "notes"=>"extra notes"}, "file"=>"#<File:0x46c6938>", "originals_gallery_id"=>"1"}
[1m[36mOriginalsGallery Load (0.0ms)[0m [1mSELECT "originals_galleries".* FROM "originals_galleries" WHERE "originals_galleries"."id" = ? LIMIT 1[0m [["id", "1"]]
Artwork should be valid: false
Errors: ["Image can't be blank"]
Ogni pensiero, per favore? C'è un controller che mi dimentico di impostare?
Era bloccato cercando di risolvere lo stesso problema. Grazie mille! – wyclin