Skip to content

Commit 986d4ad

Browse files
committed
feat: ニュースセクションをDBからの動的表示に切り替え
- home_controller.rb: - ニュースデータをDBから取得し、@news_itemsに格納するロジックを追加。 - 最新7件を公開日降順で表示する。 - show.html.erb: - ニュース表示部分をハードコードから@news_itemsを使った動的表示に変更。 - タイトルに既存の絵文字がない場合は「📰」を自動付与するロジックを実装。 - 各ニュースのリンク先をDBから取得したnews.urlに設定。 - news.yml: - fetchタスクによって更新された最新のニュースデータを含む。
1 parent e1ab570 commit 986d4ad

File tree

3 files changed

+54
-22
lines changed

3 files changed

+54
-22
lines changed

app/controllers/home_controller.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ def show
33
@dojo_count = Dojo.active_dojos_count
44
@regions_and_dojos = Dojo.group_by_region_on_active
55
@prefectures_and_dojos = Dojo.group_by_prefecture_on_active
6+
@news_items = News.all.order(published_at: :desc).limit(7)
67
end
78
end

app/views/home/show.html.erb

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -177,27 +177,18 @@
177177
</h2>
178178
<br>
179179
<ul class="list" style="list-style: none;">
180-
<li>💻
181-
<%= link_to '米国系IT企業からCoderDojoへ、55台のノートPC寄贈', news_url('/2025/04/04/55-laptops-to-coderdojo/') %>
182-
</li>
183-
<li>📰
184-
<%= link_to 'DojoLetter Vol.81 2025年01月号', news_url('/2025/03/10/dojoletter-vol-82-2025年01月号/') %>
185-
</li>
186-
<li>🎲
187-
<%= link_to 'ダイス×プログラミング『ニャイス!コード』 を75台寄贈', news_url('/2025/02/14/coderdojo-de-nyaicecode/') %>
188-
</li>
189-
<li>📰
190-
<%= link_to 'DojoLetter Vol.80 2024年12月号', news_url('/2025/02/10/dojoletter-vol-80-2024年12月号/') %>
191-
</li>
192-
<li>📰
193-
<%= link_to 'DojoLetter Vol.79 2024年11月号', news_url('/2025/01/14/dojoletter-vol-79-2024年11月号/') %>
194-
</li>
195-
<li>🎄
196-
<%= link_to '128台のノートPC寄贈、Box JapanからCoderDojoへ', news_url('/2024/12/25/box-japan-to-coderdojo/') %>
197-
</li>
198-
<li>📰
199-
<%= link_to 'DojoLetter Vol.78 2024年10月号', news_url('/2024/12/10/dojoletter-vol-78-2024年10月号/') %>
200-
</li>
180+
<% @news_items.each do |news| %>
181+
<li>
182+
<% has_emoji = news.title.chars.any? { |char| char.match?(/[\p{Emoji}\p{Emoji_Component}&&[:^ascii:]]/) } %>
183+
<% if has_emoji %>
184+
<% # 絵文字が含まれていれば、タイトルをそのまま表示 %>
185+
<%= link_to news.title, news.url, target: '_blank', rel: 'noopener noreferrer' %>
186+
<% else %>
187+
<% # 絵文字が含まれていなければ、「📰」をつけて表示 %>
188+
📰 <%= link_to news.title, news.url, target: '_blank', rel: 'noopener noreferrer' %>
189+
<% end %>
190+
</li>
191+
<% end %>
201192
</ul>
202193
<p style="margin-top: 30px;">
203194
最新情報はメールで受け取れます。

db/news.yml

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,42 @@
11
---
2-
news: []
2+
news:
3+
- url: https://news.coderdojo.jp/2024/12/25/box-japan-to-coderdojo/
4+
title: "\U0001F384128台のノート PC 寄贈、Box Japan から CoderDojo へ \U0001F381"
5+
published_at: Wed, 25 Dec 2024 11:00:40 +0000
6+
id: https://news.coderdojo.jp/2024/12/25/box-japan-to-coderdojo/
7+
- url: https://news.coderdojo.jp/2025/01/14/dojoletter-vol-79-2024%e5%b9%b411%e6%9c%88%e5%8f%b7/
8+
title: DojoLetter Vol.79 2024年11月号
9+
published_at: Tue, 14 Jan 2025 03:30:45 +0000
10+
id: https://news.coderdojo.jp/2025/01/14/dojoletter-vol-79-2024%e5%b9%b411%e6%9c%88%e5%8f%b7/
11+
- url: https://news.coderdojo.jp/2025/06/10/dojoletter-vol-85-2025%e5%b9%b404%e6%9c%88%e5%8f%b7/
12+
title: DojoLetter Vol.85 2025年04月号
13+
published_at: Tue, 10 Jun 2025 03:30:18 +0000
14+
id: https://news.coderdojo.jp/2025/06/10/dojoletter-vol-85-2025%e5%b9%b404%e6%9c%88%e5%8f%b7/
15+
- url: https://news.coderdojo.jp/2024/12/10/dojoletter-vol-78-2024%e5%b9%b410%e6%9c%88%e5%8f%b7/
16+
title: DojoLetter Vol.78 2024年10月号
17+
published_at: Tue, 10 Dec 2024 04:00:06 +0000
18+
id: https://news.coderdojo.jp/2024/12/10/dojoletter-vol-78-2024%e5%b9%b410%e6%9c%88%e5%8f%b7/
19+
- url: https://news.coderdojo.jp/2025/04/10/dojoletter-vol-83-2025%e5%b9%b402%e6%9c%88%e5%8f%b7/
20+
title: DojoLetter Vol.83 2025年02月号
21+
published_at: Thu, 10 Apr 2025 03:45:27 +0000
22+
id: https://news.coderdojo.jp/2025/04/10/dojoletter-vol-83-2025%e5%b9%b402%e6%9c%88%e5%8f%b7/
23+
- url: https://news.coderdojo.jp/2025/05/12/dojoletter-vol-84-2025%e5%b9%b403%e6%9c%88%e5%8f%b7/
24+
title: DojoLetter Vol.84 2025年03月号
25+
published_at: Mon, 12 May 2025 04:00:33 +0000
26+
id: https://news.coderdojo.jp/2025/05/12/dojoletter-vol-84-2025%e5%b9%b403%e6%9c%88%e5%8f%b7/
27+
- url: https://news.coderdojo.jp/2025/03/10/dojoletter-vol-82-2025%e5%b9%b401%e6%9c%88%e5%8f%b7/
28+
title: DojoLetter Vol.82 2025年01月号
29+
published_at: Mon, 10 Mar 2025 04:00:33 +0000
30+
id: https://news.coderdojo.jp/2025/03/10/dojoletter-vol-82-2025%e5%b9%b401%e6%9c%88%e5%8f%b7/
31+
- url: https://news.coderdojo.jp/2025/02/10/dojoletter-vol-80-2024%e5%b9%b412%e6%9c%88%e5%8f%b7/
32+
title: DojoLetter Vol.80 2024年12月号
33+
published_at: Mon, 10 Feb 2025 04:00:55 +0000
34+
id: https://news.coderdojo.jp/2025/02/10/dojoletter-vol-80-2024%e5%b9%b412%e6%9c%88%e5%8f%b7/
35+
- url: https://news.coderdojo.jp/2025/02/14/coderdojo-de-nyaicecode/
36+
title: "\U0001F3B2 ダイス×プログラミング『ニャイス!コード』を、CoderDojo に75台寄贈"
37+
published_at: Fri, 14 Feb 2025 08:24:07 +0000
38+
id: https://news.coderdojo.jp/2025/02/14/coderdojo-de-nyaicecode/
39+
- url: https://news.coderdojo.jp/2025/04/04/55-laptops-to-coderdojo/
40+
title: 米国系 IT 企業から CoderDojo へ、55 台のノート PC 寄贈
41+
published_at: Fri, 04 Apr 2025 10:00:32 +0000
42+
id: https://news.coderdojo.jp/2025/04/04/55-laptops-to-coderdojo/

0 commit comments

Comments
 (0)