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
もし、このままやってみて、できなかったら
コメントつけてもらえたら確認して訂正します。