Open Yukimarupie opened 3 years ago
できれば対応したいタスク
今リッチメニューでURL/lettersのパスで一覧画面が表示されるようにしてるけど、
アクセス=>ログイン=>一回new.html.erbのエンドポイントURLにいく=> index表示
の流れで激遅いから、そこはなんとかしないと。
SecureRandomクラス https://techacademy.jp/magazine/37864
バリデーションとかは実装の邪魔になるし簡単なので後回し。
あとdestoryアクションも。 確認ダイアログをいい感じにしてくれるgemがあるらしい。 https://fuchiaz.com/rails-gem-data-confirm-modal/
https://qiita.com/kazukimatsumoto/items/14bdff681ec5ddac26d1 上記Qiitaがリレーションについて死ぬほどわかりやすいのだけれど、残念ながらこのQiitaのように userについてるid = letterモデルのuser_idとはなってない。userのid = letterのsend_by..?? あれこれ手打ちで入力してもらうとしたら、letterモデルにもう一個user_idカラム追加したほうが良かったりする...??
とりあえず外部キーのline_user_idと、letterモデルのsend_byを紐付けるために以下を追記。 やり方あってるかわからんけど。
# line_user_id = send_by にしたい
belongs_to :user, class_name: 'User', foreign_key: :line_user_id
has_many :letters
# line_user_idがnillでないこと
validates :line_user_id, presence: true
とりあえずアクセスしてもエラーは出ずいい感じ。
あとはコントローラーのcreateアクションあたりでよしなにすればいいのかな?
コマンドの手打ちはやめられた
次は、メソッドのコピペはやめる。 ちゃんと意図を理解して、書くこと。
データじゃなく、レコードというのは一行丸々のデータで、 データだと、カラム一つのデータという意味になる
もしリファクタするなら。
二行目のupdate要らなかったりもする
if文はnilの時はfalse。
必須なのはあと6つ?
・userとletterの紐付け
=>現在対応中
・ letterコントローラーのcreateアクションの時にtoken発行して、URLでそれ飛ばすようにする??
=>これって相手がLINE消したりしたら、一緒に消えてしまうんだろうか...未知だ。
・送られてクリックした手紙を、自分のindexページ(レターボックス)の受信箱に表示させられるようにしたい。
=>>やっぱりパートナーになってくださいで ok されたらroom作れるようにするやつ必須かもしれないそれなら。
・enumで管理してる送信中・送信成功・送信失敗、今みたいにまさか手打ちで登録させるわけにはいかないので、勝手にDBに登録させるにはどうするか。
=>これが検討もつかない正直。
・今の実装だと、newフォームで手紙書く => 送信先選ぶ => 自分のindexには送信したメッセージが保存されないシステムになってるから、独り身の人も書く瞑想アプリ・日記アプリみたいな感じで使えるように、自分宛に保存みたいな実装にできれば理想。
送信と同時に自分の送信ボックスにも保存、って形にすればいいのかな?
(あとできれば送信後、もしくは画面開くときのローディング画面としてランダムにお役立ちtipsみたいなのが出てくるようにしたい。)
・リマインド機能用のrakeタスクを実装してheroku側に登録する。
条件分岐はできるけど、JSとのやり取りどうすればいいのかが検討もつかん。 そしてリマインド機能つけるならカレンダーのgemとかの導入が必要かも。
ただ、LINEbot x Rakeタスク x Heroku Schedulerでリマインダーボット作ってる人は見つけた。 ただ自分で日付を登録できるようにはなってない?? https://qiita.com/Shuheiktgw/items/b101a0e30488879a3ae7
あとif todayみたいな感じで描くのかと思ったけど、以下記事では24時間以内のやつをrakeタスクのデータに入れ込む処理にしてる。 http://neutligen.hatenadiary.com/entry/2016/04/27/225324