LoginSignup
0
0

More than 5 years have passed since last update.

paperclipの使い方

Posted at

初めに

ここでは画像のアップロード機能を実装するためのgemの紹介をします。

paperclipをインストール

まずはimagemagickが無いと何も始まらないのでこれをインストールする。

ターミナル
brew install imagemagick
Gemfile
gem ‘paperclip'
$ bundle

画像用のカラムを追加

今回はユーザーのプロフ画像に使用したいのでUserモデルを使う。

ターミナル
$ rails g paperclip user avatar

# userはモデル名
# avatarは追加したいカラム名

このコマンドを使うとavatar以外にavatarのfile名や画像を追加した日など4つ程のカラムが作成される。

Userモデル

user.rb
class User < ActiveRecord::Base
  has_attached_file :avatar, 
              styles: { medium: "300x300>", thumb: "100x100>" }, 
         default_url: "/images/:style/missing.png"

  validates_attachment_content_type :avatar, content_type: /\Aimage\/.*\z/
end

・has_attached_fileは画像のサイズやデフォルト画像、画像ファイルの保存先などを設定するオプション

・ validates_attachment_content_typeは画像の種類のバリデーションを設定するオプション

確認してみる

$ rails c

# ユーザーモデルのインスタンスを生成
> user = User.new

# avatarの設定
> user.avatar = File.new("app/assets/images/画像ファイル名", "r")

# 設定されているか確認
> p user.avatar
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0