LoginSignup
0
1

More than 5 years have passed since last update.

paperclipの使い方【Gem】

Posted at

paperclipの使い方をまとめる。
こちらのページを追った。

projectの作成。

$ rails new paperclip
$ cd paperclip

Gemfileに追記。

Gemfile
gem 'paperclip'

$ bundle install

scaffoldの作成。
$ rails g scaffold user name:string password:string

userモデルに追記。

app/models/user.rb
class User < ApplicationRecord
  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

カラムを追加。
$ rails g migration add_avatar_to_users

db/migrate/XXXXXXXXXXXXXX_add_avatar_to_users.rb
class AddAvatarToUsers < ActiveRecord::Migration[5.1]
  def change
  end
  def self.up
    add_attachment :users, :avatar
  end
  def self.down
    remove_attachment :users, :avatar
  end
end

$ rake db:create db:migrate

以下のように変更を加える。

app/views/users/_form.html.erb
<div class="field">
  <%= form.label :avatar %>
  <%= form.file_field :avatar %>
</div>
app/controllers/users_controller.rb
def user_params
  params.require(:user).permit(:name, :password, :avatar)
end

$ rails s

動いていることを確認。

0
1
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
1