LoginSignup
4

More than 5 years have passed since last update.

deviseでnicknameカラムを追加して、nicknameの重複を禁止するアレを実装してみる

Posted at

deviseって超便利ですよね。

今回は

deviseでnicknameカラムを追加した後

sign up時にnicknameの重複を禁止するようにしてみたいと思います。

すでにカラムが追加されているというところから始めたいと思います。

1.add_カラム名がdownになるまで

ターミナル
rake db:rollback

downになっているかは

ターミナル
rake db:migrate:status

で確認できます

downになっているのが確認できたら

2.

db/mirgate/******_add_nickname_to_users.rb
class AddNicknameToUsers < ActiveRecord::Migration
  def change
    add_column :users, :nickname, :string
    add_index :users, :nickname, unique: true
  end
end

こんな感じに編集して

3.

ターミナル
rake db:migrate

そしたら

4.

models/user.rb
validates :nickname, presence: true, uniqueness: true

これを追記したらおしまい。

そしらた

ターミナル
rails s

実際にsign upして同じnicknameで登録してみてください

多分
「あのね。その、nickname、登録されてんのよ。」

って感じで登録させてもらえないと思います。
そうなっていればOK

もし、このままやってみて、できなかったら
コメントつけてもらえたら確認して訂正します。

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
4