modello manca richiesto attr_accessor per 'photo_file_name' durante il caricamento con graffetta e S3 su Heroku

StackOverflow https://stackoverflow.com/questions/3580592

Domanda

Impostazione graffetta con S3 nel mio ambiente linux dev è stato un gioco da ragazzi - tutto funziona out of the box. Tuttavia, non riesco a farlo funzionare su Heroku.

Quando provo a fare un upload, gli spettacoli di registro:

Processing ItemsController#create (for 72.177.97.9 at 2010-08-26 16:35:14) [POST]  
  Parameters: {"commit"=>"Create", "authenticity_token"=>"0Hy3qvQBHE1gvFVaq32HMy2ZIopelV0BHbrSeHkO1Qw=", "item"=>{"photo"=>#<File:/home/slugs/270862_4aa601b_4b6f/mnt/tmp/RackMultipart20100826-6286-1256pvc-0>, "price"=>"342", "name"=>"a new item", "description"=>"a new item", "sold"=>"0"}}

Paperclip::PaperclipError (Item model missing required attr_accessor for 'photo_file_name'):

Ho trovato un post sul blog che fa riferimento questo errore, e ha detto di aggiungere questo per il mio modello:

attr_accessor :photo_file_name
attr_accessor :photo_content_type
attr_accessor :photo_file_size
attr_accessor :photo_updated_at

Ciò in effetti rendono il modello mancante attr_accessor richiesto per 'photo_file_name' Errore di andare via, ma non lo fa ancora lavoro. Vedere mia altra domanda per i dettagli. Come ho capito che con le linee attr_accessor aggiunti al mio modello gli upload non riescono nemmeno sul mio sistema dev, ho il sospetto che non è la risposta giusta.

È stato utile?

Soluzione

Trovato il problema:. Necessario per aggiornare il database

  

Heroku gestita rake: db: migrate

     

Heroku restart

I aveva fatto quello che ho pensato che avrebbe compiuto la stessa cosa già:

  

Heroku rake db: schema: load

ma forse non funziona o qualcosa è andato storto nel processo.

Altri suggerimenti

errore come questo si verifica se si crea sbagliato tipo di colonna nella migrazione. Quando si definisce nuova migrazione tavolo per graffetta, è necessario specificare t.attachment :name posto della t.string :name. O add_attachment :table, :name quando si aggiunge nuova colonna graffetta nella tabella esistito. E ora non c'è bisogno di aggiungere questi attributi in attr_accessor nel modello.

Bene, questo messaggio sembra essere perché le colonne che manca. Prova creare una migrazione creare le colonne:

class AddPhotoToEvent < ActiveRecord::Migration
  def change
    add_column :events, :photo_file_name,    :string
    add_column :events, :photo_content_type, :string
    add_column :events, :photo_file_size,    :integer
    add_column :events, :photo_updated_at,   :datetime
  end

end

Questo lavoro per me, qui ho un tavolo di eventi con foto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top