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