Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ブログ記事を published_at 順に並べる #7955

Merged
merged 6 commits into from
Aug 21, 2024

Conversation

Judeeeee
Copy link
Contributor

@Judeeeee Judeeeee commented Jul 11, 2024

issue

概要

現在ブログ記事は公開日時の降順で並んでおらず、2021年の記事が先頭に表示されています。
この問題を解決するために、本PRではブログ記事を公開日時の降順で並ぶ変更を加えました。

また、メンター・管理者のみ表示されるWIP記事は仕様についての認識擦り合わせから以下の条件で表示させました。

  • WIP記事群はブログ記事一覧の先頭に存在する
  • 一度公開してWIPにした記事は、WIP記事群内での並びは考慮しない(ほぼ発生しないユースケースのため)

修正前

ブログ記事の並び順(main)

修正後

ブログ記事並び替え後

変更確認方法

  1. feature/order-articles-by-published_at-descをローカルに取り込む
  2. foreman start -f Procfile.devでローカルサーバーを立ち上げる
  3. 管理者でログインする(ID: komagata)
  4. ブログ一覧ページにアクセスし、変更が反映されていることを確認する

確認事項

  • 既に存在するブログの降順確認
    • ブログ一覧ページで以下が確認できること
      • WIP記事群がブログ記事の先頭に存在すること
      • 公開記事が公開日時の降順(最新記事が先頭にくる)で表示されていること
  • 作成したブログの降順確認
    • 公開日時に2021年(過去日)を指定したブログの作成
      • ブログ作成ページにアクセスし、フォームに任意の値を入力しWIPボタンを押下する
      • 押下後に自動で編集ページに遷移する。ページ下部の"記事公開日時を変更"ボタンから2021年を指定し、公開するボタンを押下する
      • ブログ一覧ページで作成記事が一覧の最後に表示されていること
    • WIP記事の作成

@@ -62,7 +62,7 @@ def set_article
end

def list_articles
articles = Article.with_attached_thumbnail.includes(user: { avatar_attachment: :blob }).order(created_at: :desc).page(params[:page])
articles = Article.with_attached_thumbnail.includes(user: { avatar_attachment: :blob }).order(published_at: :desc).page(params[:page])
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

commit messageにも書いたのですが、PostgreSQLではNULL値は非NULL値より大きいとみなされます。
WIP記事はpublised_atがnilのため、降順だとブログ記事の先頭に表示されます。

参考: PostgreSQL 行の並べ替え(ORDER BY)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Judeeeee published_atが同じ場合のために

order(published_at: :desc, created_at: :desc)

みたいにするのがいいかもです〜。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@komagata

レビューありがとうございます!
確かに仰る通りですね👀
f08d0c8で修正したので、ご確認ください🙏

@Judeeeee Judeeeee self-assigned this Jul 11, 2024
@Judeeeee Judeeeee changed the title ブログ記事を published_at 順に並べる [WIP]ブログ記事を published_at 順に並べる Jul 11, 2024
@Judeeeee Judeeeee changed the title [WIP]ブログ記事を published_at 順に並べる ブログ記事を published_at 順に並べる Jul 11, 2024
@Judeeeee Judeeeee marked this pull request as ready for review July 11, 2024 06:58
@Judeeeee
Copy link
Contributor Author

@masyuko0222

お疲れ様です!
お忙しいところ恐縮ですが、こちらのPRのレビューをお願いできますでしょうか👀
ご都合がつかなければ遠慮なく仰っていただけると幸いですー🙏

@masyuko0222
Copy link
Contributor

@Judeeeee
承知しました〜。今日か明日には確認します。

@Judeeeee
Copy link
Contributor Author

@masyuko0222
早速のコメントありがとうございます🙏
急ぎではないので、ご都合の良いタイミングで確認いただけると幸いです〜

引き続きよろしくお願いいたします🙇

@Judeeeee Judeeeee requested a review from masyuko0222 July 11, 2024 07:03
Copy link
Contributor

@masyuko0222 masyuko0222 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

問題ありません!〇

一点細かすぎる点で恐縮ですがコメントさせて頂いたのでご確認お願いいたします~。

@@ -62,7 +62,7 @@ def set_article
end

def list_articles
articles = Article.with_attached_thumbnail.includes(user: { avatar_attachment: :blob }).order(created_at: :desc).page(params[:page])
articles = Article.with_attached_thumbnail.includes(user: { avatar_attachment: :blob }).order(published_at: :desc).page(params[:page])
Copy link
Contributor

@masyuko0222 masyuko0222 Jul 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[NITS]

動作確認の

ブログ一覧ページで作成したWIP記事がブログ記事の先頭に存在されていること

についてですが、既存の「仮想マシンにDebianをインストールしよう」が常に先頭に来るようになっています。(環境依存だったらすみません)

image

ただ開発環境だけの問題かもしれませんし、WIPが沢山あってどれが最新か分かりづらい、という状況も実際はほぼ起こらないのかなぁとも思います。

(仕様次第だとも思いますし、)修正すべきかのご判断はお任せします!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@masyuko0222

レビューありがとうございます!

ブログ一覧ページで作成したWIP記事がブログ記事の先頭に存在されていること

確かに仰る通りで、先頭にはなっていないですよね💦
ご指摘ありがとうございます🙏
「WIP記事群に作成したWIP記事が含まれていること」が本来言いたかったことなので、コメントを修正しますね!

また、仕様の擦り合わせから「一度公開してWIPにした記事の扱い」をどう判断したか?についても補足しようと思います🙇

@Judeeeee
Copy link
Contributor Author

@masyuko0222

以下2点、コメントの修正を行いましたのでご確認ください🙏

  • 一度公開してWIPにした記事の扱いの補足
    • 度公開してWIPにした記事は、WIP記事群内での並びは考慮しない(ほぼ発生しないユースケースのため)

  • 確認事項のWIP記事作成説明

@Judeeeee Judeeeee requested a review from masyuko0222 July 16, 2024 02:31
Copy link
Contributor

@masyuko0222 masyuko0222 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Judeeeee
承知しました!そうしましたらレビューとしては問題ありません!
Approveいたします~。

@Judeeeee
Copy link
Contributor Author

@masyuko0222

Approveありがとうございます〜!

@Judeeeee Judeeeee force-pushed the feature/order-articles-by-published_at-desc branch from f536457 to 004670c Compare July 18, 2024 02:34
@Judeeeee
Copy link
Contributor Author

@komagata

お疲れ様ですー!
チームメンバーからapproveいただいたので、お手隙の際にレビューしていただけると幸いです🙏

@Judeeeee Judeeeee requested a review from komagata August 2, 2024 09:28
@@ -67,7 +67,7 @@ def set_article
end

def list_articles
articles = Article.with_attached_thumbnail.includes(user: { avatar_attachment: :blob }).order(created_at: :desc).page(params[:page])
articles = Article.with_attached_thumbnail.includes(user: { avatar_attachment: :blob }).order(published_at: :desc, created_at: :desc).page(params[:page])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1行が横に長過ぎるので適度に改行するのが良さそうです。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

495accfで改行を加えました🙆

visit_with_auth articles_path, 'komagata'
titles = all('h2.thumbnail-card__title').map(&:text)

assert_includes titles[0], @article3.title
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

配列と配列を比べるのが1回で済むので良いかなと思います。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

e59f94dで配列同士を比較する形にしました〜

Copy link
Contributor Author

@Judeeeee Judeeeee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@komagata
お疲れ様です〜確認ありがとうございました!
コメントを踏まえて修正したので、ご確認ください🙏

@@ -67,7 +67,7 @@ def set_article
end

def list_articles
articles = Article.with_attached_thumbnail.includes(user: { avatar_attachment: :blob }).order(created_at: :desc).page(params[:page])
articles = Article.with_attached_thumbnail.includes(user: { avatar_attachment: :blob }).order(published_at: :desc, created_at: :desc).page(params[:page])
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

495accfで改行を加えました🙆

visit_with_auth articles_path, 'komagata'
titles = all('h2.thumbnail-card__title').map(&:text)

assert_includes titles[0], @article3.title
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

e59f94dで配列同士を比較する形にしました〜

Copy link
Member

@komagata komagata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確認させて頂きました。OKです〜🙆‍♂️

@komagata komagata merged commit e473f98 into main Aug 21, 2024
3 checks passed
@komagata komagata deleted the feature/order-articles-by-published_at-desc branch August 21, 2024 01:32
@github-actions github-actions bot mentioned this pull request Aug 21, 2024
17 tasks
@komagata
Copy link
Member

@Judeeeee 本番環境で確認してOKでした〜。

  • 本番環境での確認を依頼した
  • 誰が確認をしたか

といった内容もとっても重要な情報ですので、GitHub上(まさにこのスレッド)で行うようにお願いします〜。(他でやった場合もメモとしてこちらに残しておいていただければありがたいです。)

@Judeeeee
Copy link
Contributor Author

@komagata
確認ありがとうございます!承知しました。
今後はGitHub上に残します🫡

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants