2019/2/6学習記録
has_secure_passwordを使ってのuser登録について
has_secure_passwordのモデルへの記述でデータベースのカラムに対応しないpasswordとpassword_confirmationという二つの属性が設定される。
二つの役目がある
1passwordとpassword_confirmationの一致によってユーザー登録を完了させる。
2bcryptを使ってpasswordを暗号化しpassword_digestに格納する。
勿論レコード登録時にpassword属性とpassword_confirmation属性を指定して登録する必要がある。
password_digestに格納してしまうと普通に生のパスワードが登録されるため注意。
migration fileの記述について
bin/rails g migration add_addcolumnname_to_addtablename
addに続けてカラム名、toに続けてテーブル名を追加する。記述はスネークケース。
ex)
class AddAdminToUsers < ActiveRecord::Migration[5.2]
def change
add_column :users, :admin, :boolean, default: false, null: false
end
end
add_columnに続けてテーブル名、カラム名、データ型、デフォルト値、nullを許可するか。
namespaseについて
プロジェクトを管理するにおいて、関連するような機能を将来管理しやすくするために、namespaceを使ってprojectのファイルを管理する。
具体的にはapp/controllers/admin/users_controller.rbのようにしてAdmin::のついたコントローラーを足して行けば関連するファイルがまとまり管理しやすくなる。
generate コマンド
bin/rails g controller Admin::Users actionname
routing
Rails.application.routes.draw do
namespace :admin do
resources :users
end
end