見出し画像

写真投稿に制限を!!

投稿できる写真のサイズと拡張子の制限をする。
機能制限をあらかじめする事で、データベースの整合性を整えるようにしておく。

画像のアップデート情報に制限をかける

RMagickを利用できるようにする。RMagickは画像を保存する時にインストールすることで簡単に利用ができるため、ここで利用する。
brew install imagemagick@6
# Gemfile
gem ‘rmagick'
コンソールにて
$ bundle install
rmagickが利用でき、用意されたメソッドが利用できるようになる
参考:https://workabroad.jp/tech/1118

image_uploader.rbを制限として追加
基本的には追加で記載しなくても最初から記載されているため、コメントアウトを変更することで利用ができる。
# 10mbまでのファイルのみにする
def size_range
1..10.megabytes
end
# jpg,jpeg,pngしか受け付けない
def extension_white_list
%w(jpg jpeg png)
end

ログインしていない場合は投稿ボタンを非表示にする

事前に作成しているメソッドを追加することで、非表示にできる。
new.html.rb
<% if logged_in? %>
<%= f.submit '投稿', class: 'btn btn-black btn-block' %>
<% end %>

Userの時のように、validatesのような制限をかける事でメンテナンスや予期せぬエラーを出さないように制限をかけるようにした。
色々調べてみると、画像の名前を事前に決めたり、アップロードする際に保存しやすいような保存形式にするなど制限のかけ方はあるように見えた。
メソッドやツールなどやりやすいものが色々あるのだが、ちゃんと理解して使えるようになるには時間がかかりそうなので、休み中に一通りのことを学んでおきたいと思いました。

この記事が参加している募集

note感想文

この記事が気に入ったらサポートをしてみませんか?