BETA

【Rails】任意のユーザIDの追加

投稿日:2019-12-17
最終更新:2019-12-17

Twitterアプリを作っている最中で、サーバが決めない、任意のユーザIDを設定する必要が出てきたので、メモしておきます。

参考

https://qiita.com/at-946/items/f495442a8a9bfdae5a6b
https://qiita.com/at-946/items/03a5d03c8865ac4cbd2c

GitHub
https://github.com/equivalent/public_uid

やりたいこと

ユーザ 作成/編集 画面で任意のユーザIDを設定する
ユーザIDは一意にする
入力が無かった場合は、自動で設定する

この記事でやること

gem 'public_uid' を使ってランダムのユーザIDを設定する。

Gemの追加

gem 'public_uid'  

を追記して、Gemファイルを追加します。

$ bundle install  

をします。

カラムの追加

一意のユーザIDを作成するためのカラムをUSersテーブルに追加します。

$ rails g migration AddColumnPublicUidToUsers public_uid:string  

出来上がったマイグレーションファイルを編集します。

class AddColumnPublicUidToUsers < ActiveRecord::Migration[5.2]  
  def change  
    add_column :users, :public_uid, :string  
    add_index  :users, :public_uid, unique: true  
  end  
end  

public_uidは、ユニーク(一意の)IDと考えてください。
add_index を付けることで、検索がはやくなります。

$ rails db:migrate  

でマイグレートしましょう。

モデルに追加

モデルに以下の一行を追加します。

 generate_public_uid  

これで、ユーザ作成時にpublic_uidが自動で設定されます。

ユーザを作成してみたら、、

設定されてました!!!

まとめ

ひとまずこれだけ!

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

初学者の成長が垣間見れます

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう