Модель отсутствует требуется Attr_accessor для 'photo_file_name' при загрузке с помощью paperclip и s3 на heroku

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

Вопрос

Настройка скрепки с помощью S3 в моей среде DEV Linux была защелкой - все работает из коробки. Однако я не могу заставить его работать над Героку.

Когда я пытаюсь сделать загрузку, журнал показывает:

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'):

Я нашел один пост блога, который ссылался на эту ошибку, и он сказал, чтобы добавить это на мою модель:

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

Это действительно делает Модель отсутствует требуется Attr_accessor для 'photo_file_name' Ошибка уходят, но она все еще не работает. Видеть Мой другой вопрос для деталей. Как я понял, что с добавленными линиями ATTR_ACCESSOR, добавленной к моей модели, загрузки не удается даже в моей системе Dev, я подозреваю, что это не правильный ответ.

Это было полезно?

Решение

Нашел проблему: необходимо для обновления базы данных.

Heroku Run Rears: БД: мигрировать

eroku перезапустить

Я сделал то, что думал, что сделали бы то же самое:

Heroku Rakes DB: Схема: нагрузка

Но, возможно, это не работает или что-то пошло не так в процессе.

Другие советы

Похоже, это происходит, если вы создаете неправильный тип столбца в миграции. Когда вы определяете новую миграцию таблицы для PaperClip, вам нужно указать t.attachment :name состоительный t.string :name. Отказ Или add_attachment :table, :name Когда вы добавляете новый столбец с сердечником в существовавшей таблице. И теперь вам не нужно добавлять эти атрибуты в attr_accessor в модели.

Ну, это сообщение, кажется, потому что колонны оно отсутствует. Попробуйте создать миграцию Создание столбцов:

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

конец

Эта работа для меня, здесь у меня есть столовые события с фото

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top