Ruby on Rails 3用の 'paperclip'宝石を使用しています。をファイルパス値( "/Users/Desktop/image.gif
"または "C:/Users/Desktop/image.gif
"のような文字列)が 'file_field'に入力されていない場合、このフィールドにはエラーが発生します。Ruby on Rails 3とPaperclip gem:添付ファイルのカスタムプレゼンス検証( 'validates_attachment_presence'を使用しない)
私はRoRが他のフィールドよりもfile_fieldの扱い方が異なるため、問題があると思います。
Notice: 'paperclip'にある 'validates_attachment_presence'メソッドは使用しません。
私は何をしたいのですか?もしそうなら、それを行う方法は?
私は自分のコントローラにコードしようと試み:
if params[:user][:avatar].blank?
# I also used
# - 'nil?' instead of 'blank'
# - !params[:user][:avatar]
@user.errors.add(:avatar, "can not be blank")
end
をしかし、私は空のファイル(ゼロ/空白のパス値)でフォームを送信しようとした場合、私は
を取得NoMethodError
期待していないときにオブジェクトがありません。
ActiveRecord :: Baseのインスタンスが想定されている可能性があります。 nilを評価しながら
エラーが発生しました[]
検証コードはどのように見えますか? – polarblau
私は質問を更新しました。 – user502052
モデルに適切な(カスタム)検証を使用しない理由がありますか? – polarblau