昨日、ぶちあたったfile_columnを使った画像ファイルのアップロードですが、参考元のBlogの中の人から助言を頂いたので、早速確かめてみることにしました。
まずはソースコードを目を皿にして眺めてみましたが、一言一句間違えてないことを確認。う〜〜〜ん、じゃぁ、何が悪いのか。今度はcreateメソッドあたりを確かめようと思い、logger.debugで変数の値を表示させることに。
すると、image.valid?がfalseを返すことを発見!こうなると怪しいのはapp/models/image.rb。というわけで、妥当性チェックをしている次の3つをひとつずつコメントアウトして画像が表示できるか否かを確認。
validates_presence_of :image validates_file_format_of :image, :in => ["jpg", "png", "gif"], :message => "JPEG, PNG, GIFのみアップロードできます" validates_filesize_of :image, :in => 0..2.megabytes, :too_large_message => "画像のファイルサイズが大きすぎます"
すると、validates_file_format_ofをコメント化すると、画像がアップロードできた!やったね!
でも、なんでvalidates_file_format_ofの結果がだめなのかが分からない。ちゃんとJPEGファイルをアップロードしているし、なんでだろう。Mac使っているのが問題なのかなぁ?な、わけないか。