モデルの名前を変更してテーブル名を更新した後、すべてのクリップクリップオブジェクトのファイル名を更新するにはどうすればよいですか?モデルの名前を変更した後にpaperclipファイル名を更新しますか?
Paperclipはモデル名を含むパスに保存します。私は、おそらくファイルパスを更新する移行の自動方法を探しています。あなたは、メソッドに新しいurl
のオプションを渡す必要があります
モデルの名前を変更してテーブル名を更新した後、すべてのクリップクリップオブジェクトのファイル名を更新するにはどうすればよいですか?モデルの名前を変更した後にpaperclipファイル名を更新しますか?
Paperclipはモデル名を含むパスに保存します。私は、おそらくファイルパスを更新する移行の自動方法を探しています。あなたは、メソッドに新しいurl
のオプションを渡す必要があります
:
これは、ペーパークリップが使用するデフォルトです:
{
path: ':rails_root/public:url',
url: '/system/:class/:attachment/:id_partition/:style/:filename'
}
あなたはする必要があります振る舞いを無効にして:class
を新しいモデル名に変更すると、そのパスはURLを介して動的に決定されます。
class User < ActiveRecord::Base
has_attached_file :avatar, url: '/system/:class/:attachment/:id_partition/:style/:filename'
end
他のモデルurl
オプションもオーバーライドしない限り、古いモデル名を使用する際には注意が必要です。
'attachment_file_name'には実際のパスではなくファイル名のみが含まれています。 –
申し訳ありませんが、あなたが正しいです、私は宝石のコードを見ています – neydroid
レコードを更新する必要がありますか? paperclipが保存するために使用するクラス名をオーバーライドするオプションがあるので、データを変更する必要はありません。 – neydroid
名前を変更して別のモデルの名前を使用する必要があります。 –