1.はじめに
・この記事は記載者の自己満足による物です。
・30分で完全に切り上げるために、完全に途中で切れても終わります!笑
(このはじめにを書くのは毎回テンプレとし、このコピペの時間帯は時間に入れないものとする。)
・間違えている可能性あり!!!あまりこの記事信用しないほうがいい気がする!笑
2.なんで始めようと思ったか?
・「時間がないから記事が書けない」を言い訳に書いていなかった自分を律するため
・「意味もない記事でもいいから30分で書いて、書く練習をしてみよう!そうすりゃアウトプットにもなる」と思ったため。
内容がなくともとにかく書こう。
・いいんですよ。中身すっからかんでも。練習になりゃぁ。
ってことで2025/2/19からスタート!!
30分アウトプット開始 > 今回夜も遅いので15分にします。
2/20分を21として書いてしまいましたが、コレが本当の21日分ですw
カリキュラムのRailsの応用でみんなが詰まると言われるところに来ました。
実際に、2025/02/05 17:10から開始となってるけど、中間試験をとにかく終わらせようとして時間がかかってただけなんだよなぁ。
ということで、中間は16日に終わったので1週間ほど?で終わったのかな?(やべえ遅い。)
今回はその振り返り。
夜遅くになったのも、終わったと思いきやプルリクで全力突っぱねを喰らい、全力で修正してました。
ひとまず言えること。
「RSpecってbinding.pryでデバッグできたんだ。笑」
そしてその時にenumの設定がRSpecと実際に設定しているやつが異なったことにより
詳細画面の一部が消失。笑
「全部システムできたよね!?なんで君は表示されないの!!?」とかずっと喋ってましたw
あまりにもわからなさすぎるので、チャットGPTに聞いたところ
レコードがあるかどうか確認。との言われて確認コードを打ったところ
[4] pry(#<RSpec::ExampleGroups::AdminArticles::Nested::Nested>)> Article.find_by(uuid: future_article.uuid)
ArgumentError: 'publish_wait' is not a valid state
結果
このエラーは、:publish_wait という状態 (state) が モデルの状態として認識されていない ことが原因です。
1. state のバリデーションを確認
state には State Machine (AASM など) や Enum を使っている 可能性があります。
publish_wait が定義されていないか、違う記述になっていないか確認してください。
例えば、article.rb に以下のような Enum 定義がある場合:
class Article < ApplicationRecord
enum state: { draft: 0, published: 1 }
end
→ publish_wait がないため、エラーが発生する。
あっ。そのエラーで表示されないってことなのね( ;∀;)。。。
・RSpecはbinding.pryできること
・実際にRSpecで使用されるコードが本当に登録できるかの確認を一つずつすること
など、学びがまだまだたくさんありそうだ
22、23日分は予定があるので休みの予定です。
短いですが15分!終了!