NO IMAGE

【rails5.2.1.1】active_storageを使用する際にUnknown keyword: content_typeが表示された時の対処法。

f:id:daikiyano:20181208133814p:plain

今回は、rails5.2.1.1でactive_storageを使用してamazon s3に画像をアップロードする際にUnknown keyword: content_typeが表示された時の対処法についてご紹介します。

active_storageとは

active_storageはrails5から追加された新機能です。
Active Storageを使用することによって、Amazon S3、Google Cloud Storage、Microsoft Azure Storageに直接画像をアップロードすることができる非常に便利な
機能
です。従来であれば、carrierwaveやpaperclipなど使用して画像アップロードをしていたのですが、Active Storageを使用すれば不要になります。
詳しく知りたい方は以下のサイトをご参照ください。

railsguides.jp

今回やりたかったこと。

herokuにrailsアプリケーションをデプロイしたのですが、自動的にスリープモードになってしまうため、再度サイトにアクセスすると今までアップロードしてきた画像が表示されないという現象が発生。この現象を解消するためにはactive_storage活用してAWSやGCSに直接アップロードできるように実装する必要があります。また、私自身がactive_storageを使用したことがなかったので、実際に実装してみることにしました。

発生したエラー内容

active_storageに実装を終え、画像をアップロードしようとしたら以下のようなエラーが発生しました。

Unknown keyword: content_type

ググってみたところ、どうやらバージョンがrails5.2.1.1だとエラーが発生する模様。
ということで、gemの記載をrails5.2.1からrails5.2.2に変更しました。

gem 'rails', '~> 5.2.2'

gemfileの変更が完了したらbundle updateを実装し、再度画像をアップロードしてみるとエラーが解消されています。

f:id:daikiyano:20181210223341p:plain

参考サイト

stackoverflow.com

>文系エンジニア大学生の技術ブログ

文系エンジニア大学生の技術ブログ

社会が多様化していく中、大学生の学生生活も多様であるべきと考えています。主にエンジニア向けにITやプログラミングなどの技術系と大学生向けに休学、留学、海外生活、トビタテ留学、長期インターンに関する記事を書いています。