2019年6月26日水曜日

carrierwave のnilチェック

「ファイルが添付されていないこと」をチェックしたいときは .nil? ではなく .file.nil?

参考:carrierwaveuploader/carrierwave: Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks
https://github.com/carrierwaveuploader/carrierwave#activerecord

Note: u.avatar will never return nil, even if there is no photo associated to it. To check if a photo was saved to the model, use u.avatar.file.nil? instead.

Userモデルのavatarカラムにcarrierwaveのuploaderをマウントしている場合、 u.avatar.nil? は(たとえファイルが添付されていなくても)nilにはならない。

0 件のコメント:

コメントを投稿