今日も安定の昼夜逆転で、夜に起きた。
templated_articles
の format
が bool
のときは、日記エディタにチェックボックスが表示されるのだが、それにチェックした状態で保存しようとするとエラーになるバグがあった(つまり format
が bool
のときは保存できないバグ)のでそれを直そうとしていた。
https://github.com/noraworld/diary/blob/b180cbf9771512c4ebce75609ecc42dcd243b566/app/models/concerns/template_validator.rb
validator を見ると、format
が bool
のときは "yes"
または "no"
という文字列のみを許容しており、Rails のチェックボックスのヘルパーは、何も指定しない場合は "1"
(チェックされたとき) か "0"
(チェックされていないとき) が送信される仕様になっているのでバリデーションでエラーが発生していたようだ。
なら、"yes"
か "no"
が送信されるように変更するだけの簡単なことかと思ったけど、そもそもデータを送らない (空文字列を送る) ということがチェックボックスではできない。チェックボックスは、必ず 2 値でなければならないので、"yes"
か "no"
か ""
か、ということにはできない。
そうなると、format
が bool
のときは Yes!
と No...
という文字を用意しておいて、Yes!
がクリックされたら "yes"
を送信、No...
がクリックされたら "no"
を送信、そしてどちらもクリックされなかったら ""
を送信する、という JS を用意しないといけなくなる。
それの実装をしていたのだが、途中までスクリプトを書いて頭がぼんやりしてきてあまり考えられなくなってきたので、一旦休憩してコンビニに行ってごはんを買ってきた(← いまここ)。
久しぶりのまともなごはん。最近はプロテインとバナナ(たまにツナごはん)しか食べていなかった。家から出るのが面倒だということもあるが、お金がないからだ。だから食べ物を買いに行くのは数日に一回で、それ以外の日はプロテインとバナナしか食べていないのだ。
ごはん食べたら続きやろうかなと思っているけど、ごはん食べるとぼーっとしてくるので続きができるかわからない。
あ、あと、テンプレートの非表示モードがオンのとき (templates
の is_disabled
が true
のとき) は日記を書くときに表示されない (データも送信されないし、日記にも関連付けされない) ようにしているが、テンプレート一覧ページからも表示されないような view にしようかなと思っている。
クエリパラメータで、非表示モードのものを隠す、非表示モードのもののみを表示する、非表示モードの有無に関わらずすべてのテンプレートを表示する、とかを切り替えられたら良いな。
そう思った理由は、メンタリスト DaiGo の「記録の力」に書かれているような記録術をテンプレートに保存しておきたいが、今すぐにそれらを使う目処がないので、テンプレート一覧にも表示はされなくても良いかなと思ったからだ。
まあ、のんびり開発していこう。どうせ、ヒキニートで時間はあるのだし。
昨日の日記を書いたあとに、Qiita にも Google Analytics を導入した。今日起きて確認してみたら、まあまあ見られているんだなあということがわかった。
こうやってページが見られているかどうかをグラフとかで見て分析したりするのって楽しそうだなと思った。
でも、この日記のほうの Google Analytics はあまり見ないほうが良いかなと思った。今日ちょっと見てみたら、昨日導入してから今日の夜までの間で、意外にも 5 〜 6 人が見ていることがわかった。
でも、「誰かに見られている」ということを意識しすぎると、日記が日記でなくなってしまう恐れがあるのだ。だから、あくまで「データは取っている」だけで、事細かくデータを見たり分析したりはしないようにしようと思った。日記はあくまで日記だ。個人の日記だ。
大幅アップデートして日記のデフォルトのメインフォントを YuGothic に変えたんだけど、このフォントで文章書くのなかなか良いなと思った。
食べたもの
食べたものも日記に残しておこうと思う。というか 一時期は昼ごはんや夜ごはんを記録していた ので、それを復活させるといった感じだ。
前は「昼ごはん」、「夜ごはん」という感じで書いていたが、今はもう生活リズムがぐしゃぐしゃで、昼も夜もないので、とりあえず「食べたもの」として記録することにする。
昼ごはんや夜ごはんを記録し始めたころからすでにこのテンプレート機能をずっとほしいと思っていた。あのころはテキストファイルに、毎日記録するものをテンプレートとして書いておいて、毎回コピペしていた。スモールゴール とかも日記で管理していたなあ。懐かしい。
こうやってテンプレート機能として記録しておけば、「食べたもの」だけを一覧で表示したりもできるようになるから便利だな。まだそういう機能は作っていないけど、データとしては簡単に取り出せる。いちいち「食べたもの」とかで検索しなくても済むわけだ。しかも検索だとそれ以外もヒットしてしまったりするし。