前提・実現したいこと
Paperclipを使用して、音声ファイルと動画ファイルを投稿する機能を追加をしました。
ローカル環境では問題なくseedデータが反映されて投稿できたのですが、Herokuの本番環境の時に
spoofed_media_typeの部分でエラーが出てしまいます。
解決策があれば教えていただけると助かります。
発生している問題・エラーメッセージ
I, [2018-08-11T21:46:13.525291 #4] INFO -- : Command :: PATH=/usr/local/bin/identify:$PATH; file -b --mime '/tmp/aaf2f89992 379705dac844c0a2a1d45f20180811-4-7fbx6h.mp3' I, [2018-08-11T21:46:13.530844 #4] INFO -- : [paperclip] Content Type Spoof: Filename m2.mp3 (audio/mpeg from Headers, ["au dio/mpeg"] from Extension), content type discovered from file command: application/octet-stream. See documentation to allow this combination. D, [2018-08-11T21:46:13.534710 #4] DEBUG -- : (1.3ms) ROLLBACK rails aborted! ActiveRecord::RecordInvalid: バリデーションに失敗しました: Mp3translation missing: ja.activerecord.errors.models.audio_entry .attributes.mp3.spoofed_media_type /app/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.6/lib/active_record/validations.rb:78:in `raise_validation_error' /app/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.6/lib/active_record/validations.rb:50:in `save!' /app/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.6/lib/active_record/attribute_methods/dirty.rb:43:in `save!' /app/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.6/lib/active_record/transactions.rb:313:in `block in save!' /app/vendor/bundle/ruby/2.4.0/gems/activere
該当のソースコード
class AudioEntry < Entry validates :mp3, presence: :true if Rails.env.production? has_attached_file :mp3, :storage => :cloudinary, :cloudinary_resource_type => :mp3 else has_attached_file :mp3 end has_attached_file :attachment, { validate_media_type: false } validates_attachment :mp3, :content_type => { :content_type => ["audio/mpeg", "audio/mp3"] }, :file_name => { :matches => [/mp3\Z/] } end
補足情報(FW/ツールのバージョンなど)
Mac OSX Ruby on Rails 5.1.6 paperclip (6.0.0)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。