Sorceryを使って新規登録機能をつける(1)
参考:
1)bundle install
gem 'spring'
gem 'pry-rails'
gem 'better_errors'
gem 'haml-rails'
gem 'bootstrap-sass'
gem 'font-awesome-rails'
gem 'sorcery'
2)rails generate sorcery:install (Terminalで打つ)
3) rails g scaffold user -s --skip-migration
user table、migration fileが作られる。他のファイルも作られる。
認証のための基本的な用意が整う。
4)テーブルにコラムを追加して、他の項目も入れられるようにする。
rails g migration add_name_and_screen_name_add_bio_to_users name:string screen_name:string bio:string
5)rails g controller registrations new(Terminalで打つ)
モデルとしてはUserを使うが、controllerとしては、 新しく作る。
のちに sessions controllerも作る。
作ったもの:
registrations_new_path | GET | /registrations/new(.:format) | registrations#new |
6)routes.rb を編集してパスをほかに作る。(rake routes (Terminalで打つ))
ails.application.routes.draw do
resources :registratons, only: [:new, :create]
resources :users
7)models のuser.rb
validates :name, presence true, uniqueness: {case_sensitive: false}, format: {with: /A[a-z][a-z0-9]+z/}
validates :screen_name, length: {maximum: 140}
validates :bio, length: {maximum: 200}
validates :email, presence: true, uniqueness: {case_sensitive: false}
validates :password, confirmation: true, length: {in: 6..26}
validates :password_confirmation, presence: true, if: :password
Note:
if: :password というのは、 :if => :password と同じ。
ーーto be continued