私はアタッチメントモデルを持っています。バージョン モデルで更新されるたびに、古いバージョンの添付ファイルを保存したいと考えています。これである程度成功しましたが、突然機能しなくなりました。
すべてが機能しているように見えますが、バージョンにアクセスしようとすると、Google はthe x file cannot be displayed because it contains errors.
元のファイルが機能すると言うでしょう。
class Attachment < ActiveRecord::Base
mount_uploader :file, AttachmentUploader
has_many :versions
after_save :version
private
def version
versions.create(name: name, file: file) if file_changed?
end
end
class Version < ActiveRecord::Base
mount_uploader :file, VersionUploader
belongs_to :attachment
end
私は何かを変えてみました:
def version
versions.create(name: name, file: file, remote_file_url: file_url) if file_changed?
end
しかし、それは別のエラーを作成しました: trying to download a file which is not served over HTTP
この問題をデバッグする方法がわかりません。アップロードは普通のバニラです。
class AttachmentUploader < CarrierWave::Uploader::Base
include CarrierWave::MimeTypes
process :set_content_type
storage :file
def store_dir
"#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end