Skip to content

Conversation

@yasulab
Copy link
Member

@yasulab yasulab commented Dec 18, 2025

概要

/docs と同様に、ニュース記事の一覧を表示する /news ページを追加しました。

https://coderdojo.jp/news

image

変更内容

1. /news インデックスページの実装

  • NewsController#index アクションを追加
  • 既存の News モデル(ActiveRecord)を使用してデータベースからニュース記事を取得
  • すべてのニュース記事を最新順に表示するビューを作成
  • /news ルーティングを追加

2. Fat Helperのリファクタリング

  • format_news_titleNews#formatted_title に移動
  • news_link_urlNews#link_url に移動
  • ApplicationHelperから News 関連のメソッドを削除
  • Single Responsibility Principleに従い、Newsリソースに関連するロジックはNewsモデルに配置

3. DojoLetter登録フォームのパーシャル化

  • shared/_dojo_letter_signup パーシャルを作成(Rails命名規則に従う)
  • ホームページの#newsセクションでパーシャルを使用
  • /newsページでも同じパーシャルを使用
  • DRY原則を適用してコードの重複を削除

テスト

  • spec/requests/news_spec.rb - 5つのテストケース追加
  • spec/models/news_spec.rb - モデルメソッドのテスト追加
  • ✅ 全テストスイート成功(191 examples, 0 failures)

確認事項

  • テスト用データが開発用DBに混入していた問題を修正(削除済み)
  • ニュース記事は News.recent スコープで最新順に表示
  • プリセット絵文字の自動追加機能(📰 📻 📢)が適用される
  • ポッドキャストURLは相対パスに変換される(ローカル開発対応)

- NewsController#indexアクションを実装
- 既存のNewsモデル(ActiveRecord)を使用
- すべてのニュース記事を最新順に表示するビューを作成
- /news ルーティングを追加
- テスト(spec/requests/news_spec.rb)を追加

/docsと同様に、ニュース記事の一覧ページを提供
- ホームページの#newsセクションと同じようにニュースタイトルを表示
- プリセット絵文字の自動追加機能を適用
- テストを更新して絵文字追加に対応
- format_news_title → News#formatted_title に移動
- news_link_url → News#link_url に移動
- ApplicationHelperから News 関連のメソッドを削除
- ビューファイルをモデルメソッドを使用するように更新
- テストも適切な場所(spec/models/news_spec.rb)に移動

Single Responsibility Principleに従い、Newsリソースに関連する
ロジックはNewsモデルに配置することでコードの保守性を向上
- shared/_dojo_letter_signup パーシャルを作成(Rails命名規則に従う)
- ホームページの#newsセクションでパーシャルを使用
- /newsページでも同じパーシャルを使用
- コードの重複を削除してDRY原則を適用
- 外部サイト(news.coderdojo.jp)ではなく内部の /news ページへリンク
- news_url ヘルパーの代わりに news_index_path を使用
@yasulab yasulab changed the title ✨ /news ページを追加してニュース記事一覧を表示 ✉️ /news ページを追加してニュース記事一覧を表示 Dec 18, 2025
- ヘッダーのNews リンク: '/#news' → news_index_path
- フッターのNews リンク: '/#news' → '/news'
- フッターのNews アイコン: news_url → news_index_path

これにより、すべてのNewsリンクが外部サイト(news.coderdojo.jp)ではなく
内部の /news ページを指すように統一されました
@yasulab yasulab merged commit 9a70ba4 into main Dec 18, 2025
6 of 7 checks passed
@yasulab yasulab deleted the add-news-index-page branch December 18, 2025 06:22
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.

2 participants