皆さんこんにちは。
13入社 厄年 年男、管野と申します。
事務所からNGが出たので、本日も業務上のあるあるネタを書きます。
突然ですが、以下の表をご覧ください。
ext3 | 32,000 |
---|---|
ext4 | 64,000 |
xfs | 2,147,483,647 |
次に、下記をご覧ください。
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
これはRuby on Railsで一般的に使われる、
「CarrierWave(ファイルのアップロード用ライブラリ)」の、参照先ディレクトリの定義です。
同ライブラリをいれると、標準でこのような定義がされ、
.
.
.
.
.
.
.
のような形でディレクトリが生成、ファイルが保存されます。
ここまでで、お気づきいただけましたでしょうか?
そうなんです。
この状態だと、ファイルがアップロードされる度に、
使用している環境によっては、
Too many links - /[省略]/uploads/user/icon/[id]
今回は、この問題にぶつかってしまったので、一先ず
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id.to_s.scan(/.{1,4}/).join('/')}/"
end
のような形で設定変更と、ディレクトリの構成変更を行う事で難を逃れました。
という事で皆様もお気をつけください。
では、次回こそ事務所のOKが出る事を願って。
管野