Yukimarupie / puffshare

puffshare
0 stars 1 forks source link

やらないといけないタスク #28

Open Yukimarupie opened 3 years ago

Yukimarupie commented 3 years ago

必須なのはあと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

Yukimarupie commented 3 years ago

できれば対応したいタスク

今リッチメニューでURL/lettersのパスで一覧画面が表示されるようにしてるけど、

アクセス=>ログイン=>一回new.html.erbのエンドポイントURLにいく=> index表示

の流れで激遅いから、そこはなんとかしないと。

Yukimarupie commented 3 years ago

SecureRandomクラス https://techacademy.jp/magazine/37864

Yukimarupie commented 3 years ago

バリデーションとかは実装の邪魔になるし簡単なので後回し。

あとdestoryアクションも。 確認ダイアログをいい感じにしてくれるgemがあるらしい。 https://fuchiaz.com/rails-gem-data-confirm-modal/

Yukimarupie commented 3 years ago

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

とりあえずアクセスしてもエラーは出ずいい感じ。

スクリーンショット 2021-05-16 9 49 51

あとはコントローラーのcreateアクションあたりでよしなにすればいいのかな?

Yukimarupie commented 3 years ago

コマンドの手打ちはやめられた

次は、メソッドのコピペはやめる。 ちゃんと意図を理解して、書くこと。

Yukimarupie commented 3 years ago
スクリーンショット 2021-05-16 11 32 58

データじゃなく、レコードというのは一行丸々のデータで、 データだと、カラム一つのデータという意味になる

Yukimarupie commented 3 years ago
スクリーンショット 2021-05-16 11 34 50

もしリファクタするなら。

二行目のupdate要らなかったりもする

Yukimarupie commented 3 years ago

if文はnilの時はfalse。