0

Railsアプリケーションのオファーに画像を添付するときにペーパークリップを使用しています。コードは開発では機能しますが、ステージングでは機能しません。ステージングでは、画像は s3 に正しく保存されていますが、何もimage_file_nameありません。

デシベル/移行/20130507182116_add_image_to_offers.rb

class AddImageToOffers < ActiveRecord::Migration
  def self.up
    add_attachment :offers, :image
  end

  def self.down
    remove_attachment :offers, :image
  end
end

アプリ/モデル/offer.rb

class Offer < ActiveRecord::Base
  attr_accessor :image

  has_attached_file :image, styles: {
    thumb: '100x100>',
    square: '200x200#',
    medium: '300x300>'
  }

次の構成を開発モードで実行すると機能しますが、ステージングに切り替えると次のエラーが発生します。

Paperclip::Error (Offer model missing required attr_accessor for 'image_file_name'):

モデルに追加attr_accessor :image_file_nameすると完了し、画像は s3 に保存されますが、属性はnilデータベースにあります。

4

1 に答える 1

1

必ずデータベースを移行してください。また、heroku を使用している場合は、サービスを再起動する必要があります

于 2013-05-21T21:49:58.990 に答える