ちょっと待って。あなたが何をしようとしているのか、あまりよくわかりません。投稿にアップロードされた際に表示される名前を変更したいということでしょうか?もしそうなら、以下のようなコマンドを試してみるのがよいかもしれません。
rake posts:remap["old-name.pdf","newname.pdf"]
これは「すべての投稿内の文字列を置換する」で説明されています。あなたの目的からすれば、Upload モデル内の元のファイル名は実際には重要ではないと思います。
ただし、以下のように変更することも可能です。
u=Upload.find_by(original_filename: 'mypretty-w9.pdf')
u.original_filename='better-name.pdf'
u.save
このアップロードを使って投稿を再構築してみましたが、何も変化はありませんでした。
編集:
def rename_upload(old_name, new_name)
u=Upload.find_by(original_filename: old_name)
u.original_filename=new_name
u.save
end
これを貼り付けると、以下のように実行できます。
rename_upload('name.pdf','better-name.pdf')
これにより、ダウンロード時により良いファイル名が適用されるようになります。
かつて私が学者だった頃、私は 私なりの 独自の PDF 命名ルールを持っていました。それは他の誰とも違っていました。妻もまた、自分なりのルールを持っていると思います。おそらく、あなたがファイル名を「正しく」設定したとしても、誰も気に入らないでしょうね。![]()