2020/7/19 0.5時間
2020/7/20 0.5時間
class methodがよく分からず、ネットで調べました。
https://magazine.rubyist.net/articles/0046/0046-SingletonClassForBeginners.html
2020/7/21 0.5時間
class methodの記法がなかなか理解できず時間がかかりました。
2020/7/22 0.5時間
「永続化」とは何のことか、ネットで調べました。データをディスクに保存することと理解しました。
2020/7/23 3.5時間
うまく動かず、デバッグしました。デバッガーを使いこなせず、PUTSを入れては進め、入れては進めでした。
2020/7/24 1.5時間
2020/7/25 2.0時間
午前中にやるのですが、途中眠気が襲ってきて寝てしまいました。
2020/7/26 1.0時間
上手く動かず、raiseで止められることは分かりました。ひたすらPUTSです。
2020/7/27 1.0時間
def で何も返さないとnilになることを理解するまで時間がかかりました。
2020/7/28 0.5時間
これで9章を完了しました。
所要時間は11.5時間です。
さらに難易度が上がり、時間がかかりました。特にデバッグにデバッガーを使わずPUTSでデバッグするのに時間がかかりました。
文字列'1'と数字の1の書き間違いでエラー
エラー
params[:session][:remember_me] == 1 ? remember(user) : forget(user)
正しくは
params[:session][:remember_me] == '1' ? remember(user) : forget(user)
でコンソールで確かめたところ、
>> 1 == '1'
=> false
と文字列と数字は違うと分かり、動かなかった原因が分かりました。
シンボルと文字列の使い分けが分からない
演習9.3.1
テストではなぜか
cookies[:xxx]
でなく
cookies['xxx']
とシンボルでなく文字列を使っています。
assert_equal cookies['remember_token'], assigns(:user).remember_token
どう使い分けているのか分かりませんでした。ネットで調べると、シンボルと文字列は同じように扱えて処理速度が違うとありました。