Skip to content

Commit

Permalink
"卒業生の声"タグを持つブログ記事を動的に取得、表示するようにした。
Browse files Browse the repository at this point in the history
  • Loading branch information
mousu-a committed Jan 15, 2025
1 parent 3f8808d commit a4c1ab5
Show file tree
Hide file tree
Showing 4 changed files with 111 additions and 184 deletions.
4 changes: 3 additions & 1 deletion app/controllers/welcome_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ def index
@mentors = current_user ? User.mentors_sorted_by_created_at : User.visible_sorted_mentors
end

def alumni_voices; end
def alumni_voices
@articles = Article.with_attachments_and_user.tagged_with('卒業生の声').order(published_at: :desc).page(params[:page])
end

def job_support; end

Expand Down
198 changes: 16 additions & 182 deletions app/views/welcome/_alumni_voices.html.slim
Original file line number Diff line number Diff line change
Expand Up @@ -11,188 +11,22 @@ section.lp-content.is-lp-bg-1.is-top-title
.lp-content__articles
.row.is-gutter-width-32

.col-xs-6.col-md-4
.thumbnail-card.a-card
= link_to 'https://bootcamp.fjord.jp/articles/137', class: 'thumbnail-card__inner' do
= image_tag 'articles/article-138.jpeg', class: 'thumbnail-card__image', alt: '私たちも最初から、1000時間も学習できると思っていませんでした【卒業生インタビューキャタル様】の記事のサムネイル'
.thumbnail-card__row
h3.thumbnail-card__title
| 私たちも最初から、1000時間も学習できると
| 思っていませんでした【卒業生インタビューキャタル様】
.thumbnail-card__row
.thumbnail-card__description
.a-short-text
p
| フィヨルドブートキャンプを卒業した方々は、
| どんな経験をして、どんな基準で会社を選び、
| 今エンジニアとしてどんな思いで働いているのでしょうか。
| 今回は株式会社キャタルで働くharuna-tsujitaさん、
| siroemkさん、CTOのgeekneesさんにお話を聞きました。

.col-xs-6.col-md-4
.thumbnail-card.a-card
= link_to 'https://bootcamp.fjord.jp/articles/137', class: 'thumbnail-card__inner' do
= image_tag 'articles/article-137.png', class: 'thumbnail-card__image', alt: '幅広い開発スキルを学び、自分の好きなこと・強みを活かして働けている。【卒業生インタビューキャタル様】の記事のサムネイル'
.thumbnail-card__row
h3.thumbnail-card__title
| 幅広い開発スキルを学び、自分の好きなこと・
| 強みを活かして働けている。【卒業生インタビューキャタル様】
.thumbnail-card__row
.thumbnail-card__description
.a-short-text
p
| フィヨルドブートキャンプを卒業した方々は、
| どんな経験をして、どんな基準で会社を選び、
| 今エンジニアとしてどんな思いで働いているのでしょうか。
| 今回は株式会社キャタルで働くgogutanさん、kanazawaさん、
| 技術顧問のokuramasafumiさんにお話を聞きました。

.col-xs-6.col-md-4
.thumbnail-card.a-card
= link_to 'https://bootcamp.fjord.jp/articles/133', class: 'thumbnail-card__inner' do
= image_tag 'articles/article-133.png', class: 'thumbnail-card__image', alt: 'プログラミングの挑戦の楽しさと現役エンジニアからの学び【卒業生インタビューTebiki様】の記事のサムネイル'
.thumbnail-card__row
h3.thumbnail-card__title
| プログラミングの挑戦の楽しさと
| 現役エンジニアからの学び【卒業生インタビューTebiki様】
.thumbnail-card__row
.thumbnail-card__description
.a-short-text
p
| フィヨルドブートキャンプを卒業した方々は、
| どんな経験をして、どんな基準で会社を選び、
| 今エンジニアとしてどんな思いで働いているのでしょうか。
| 今回はTebiki株式会社で働くmasuyama13さん、unstoppa61eさん、
| CTOのshibukkさんにお話を聞きました。

.col-xs-6.col-md-4
.thumbnail-card.a-card
= link_to 'https://bootcamp.fjord.jp/articles/128', class: 'thumbnail-card__inner' do
= image_tag 'articles/article-128.jpeg', class: 'thumbnail-card__image', alt: '30歳、警察官と教員からエンジニアへ!コミュニティとの出会いがキャリアを大きく変えてくれた【卒業生インタビュー永和システムマネジメント様】の記事のサムネイル'
.thumbnail-card__row
h3.thumbnail-card__title
| 30歳、警察官と教員からエンジニアへ!
| コミュニティとの出会いがキャリアを大きく変えてくれた
| 【卒業生インタビュー永和システムマネジメント様】
.thumbnail-card__row
.thumbnail-card__description
.a-short-text
p
| フィヨルドブートキャンプを卒業した方々は、
| どんな経験をして、どんな基準で会社を選び、
| 今エンジニアとしてどんな思いで働いているのでしょうか。
| 今回は株式会社永和システムマネジメントで働くfugakkbnさん、haruguchi-yumaさん、
| 先輩社員のnsgcさんにお話を聞きました。

.col-xs-6.col-md-4
.thumbnail-card.a-card
= link_to 'https://bootcamp.fjord.jp/articles/122', class: 'thumbnail-card__inner' do
= image_tag 'articles/article-122.jpeg', class: 'thumbnail-card__image', alt: 'フィヨルドブートキャンプはプログラミングスクールでもあり、1つのコミュニティ。【卒業生インタビューピクシブ様】の記事のサムネイル'
.thumbnail-card__row
h3.thumbnail-card__title
| フィヨルドブートキャンプはプログラミングスクールでもあり、1つのコミュニティ。【卒業生インタビューピクシブ様】
.thumbnail-card__row
.thumbnail-card__description
.a-short-text
p
| フィヨルドブートキャンプを卒業した方々は、
| どんな経験をして、どんな基準で会社を選び、
| 今エンジニアとしてどんな思いで働いているのでしょうか。
| 今回はピクシブ株式会社で働くyumaさんと、上長のsakiさんにお話を聞きました。

.col-xs-6.col-md-4
.thumbnail-card.a-card
= link_to 'https://bootcamp.fjord.jp/articles/119', class: 'thumbnail-card__inner' do
= image_tag 'articles/article-119.png', class: 'thumbnail-card__image', alt: 'Slerからフィヨルドブートキャンプへ。Web開発に必要な知識が学べて自信がついた【卒業生インタビューしくみ製作所様】の記事のサムネイル'
.thumbnail-card__row
h3.thumbnail-card__title
| Slerからフィヨルドブートキャンプへ。Web開発に必要な知識が学べて自信がついた【卒業生インタビューしくみ製作所様】
.thumbnail-card__row
.thumbnail-card__description
.a-short-text
p
| フィヨルドブートキャンプを卒業した方々は、どんな経験をして、
| どんな基準で会社を選び、今どんな思いでエンジニアとして
| 働いているのでしょうか。
| 今回はしくみ製作所で働くseijiさん、makiichikawaさんと、
| お二人の上長のhozumiさんtottyさんにお話を聞きました。

.col-xs-6.col-md-4
.thumbnail-card.a-card
= link_to 'https://bootcamp.fjord.jp/articles/114', class: 'thumbnail-card__inner' do
= image_tag 'articles/article-114.png', class: 'thumbnail-card__image', alt: 'コマンドって何……?Macも初めて。本当に未経験だった私が、エンジニアになった話【卒業生インタビューラグザイア様】の記事のサムネイル'
.thumbnail-card__row
h3.thumbnail-card__title
| コマンドって何……?Macも初めて。本当に未経験だった私が、エンジニアになった話【卒業生インタビューラグザイア様】
.thumbnail-card__row
.thumbnail-card__description
.a-short-text
p
| フィヨルドブートキャンプを卒業した方々は、どんな経験をして、
| どんな基準で会社を選び、今どんな思いでエンジニアとして
| 働いているのでしょうか。
| 今回は株式会社ラグザイアで働く
| takapi61 さんにお話を聞きました。
.col-xs-6.col-md-4
.thumbnail-card.a-card
= link_to 'https://bootcamp.fjord.jp/articles/103', class: 'thumbnail-card__inner' do
= image_tag 'articles/article-103.png', class: 'thumbnail-card__image', alt: '[フィヨブーフェス 2023 文字起こし] 4. フィヨブーは最高だぞ (maimu)の記事のサムネイル'
.thumbnail-card__body
h3.thumbnail-card__title
| [フィヨブーフェス 2023 文字起こし] 4. フィヨブーは最高だぞ (maimu)
.thumbnail-card__body
.thumbnail-card__description
.a-short-text
p
| 先輩受講生や卒業生からフィヨルドブートキャンプの楽しみ方や
| 学習継続のコツ、アドバイスをショートプレゼンテーション形式で伝える
| イベント「フィヨブーフェス2023」での
| 卒業生のmaimuさんのプレゼンテーションです。
.col-xs-6.col-md-4
.thumbnail-card.a-card
= link_to 'https://bootcamp.fjord.jp/articles/98', class: 'thumbnail-card__inner' do
= image_tag 'articles/article-98.jpeg', class: 'thumbnail-card__image', alt: '実践的な学びと入社後の研修で、自信を持って業務に取り組めた。【卒業生インタビューラグザイア様】の記事のサムネイル'
.thumbnail-card__row
h3.thumbnail-card__title
| 実践的な学びと入社後の研修で、自信を持って業務に取り組めた。【卒業生インタビューラグザイア様】
.thumbnail-card__row
.thumbnail-card__description
.a-short-text
p
| フィヨルドブートキャンプを卒業した方々は、どんな経験をして、
| どんな基準で会社を選び、今どんな思いでエンジニアとして
| 働いているのでしょうか。
| 今回は株式会社ラグザイアで働く naomichi-h さんにお話を聞きました。
.col-xs-6.col-md-4
.thumbnail-card.a-card
= link_to 'https://bootcamp.fjord.jp/articles/83', class: 'thumbnail-card__inner' do
= image_tag 'articles/article-83.jpeg', class: 'thumbnail-card__image', alt: 'プログラミングの楽しさや難しさを話せる仲間ができた【卒業生インタビューGMOペパボ様】の記事のサムネイル'
.thumbnail-card__row
h3.thumbnail-card__title
| プログラミングの楽しさや難しさを話せる仲間ができた【卒業生インタビューGMOペパボ様】
.thumbnail-card__row
.thumbnail-card__description
.a-short-text
p
| フィヨルドブートキャンプを卒業した方々は、どんな経験をして、
| どんな基準で会社を選び、今どんな思いでエンジニアとして働いているのでしょうか。
| 今回はGMOペパボ株式会社で働くyana-giさん、Sakiさんと、
| お二人の上長のebihara99999さんにお話を聞きました。
.col-xs-6.col-md-4
.thumbnail-card.a-card
= link_to 'https://bootcamp.fjord.jp/articles/46', class: 'thumbnail-card__inner' do
= image_tag 'articles/article-46.png', class: 'thumbnail-card__image', alt: '卒業生の kasumi さん、ima1zumi さんにインタビューをしましたの記事のサムネイル'
.thumbnail-card__row
h3.thumbnail-card__title
| 卒業生の kasumi さん、ima1zumi さんにインタビューをしました
.thumbnail-card__row
.thumbnail-card__description
.a-short-text
p
| 株式会社永和システムマネジメントさんに就職したフィヨルドブートキャンプの卒業生、
| kasumi さんと ima1zumi さんにインタビューをさせていただきました。
| フィヨルドブートキャンプで大変だったこと、今プログラマーになって役立っていることなどを
| 聞かせていただきました。
- if articles.present?
- articles.each do |article|
.col-xs-6.col-md-4
.thumbnail-card.a-card
= link_to article_path(article), class: 'thumbnail-card__inner' do
= image_tag article.prepared_thumbnail_url, class: 'thumbnail-card__image', alt: "#{article.title}の記事のサムネイル"
.thumbnail-card__row
h3.thumbnail-card__title
= article.title
.thumbnail-card__row
.thumbnail-card__description
.a-short-text
p
= article.summary
- else
p まだ記事はありません

.lp-content-divider.is-lp-bg-2
svg[data-name="lp-content-divider" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"]
Expand Down
2 changes: 1 addition & 1 deletion app/views/welcome/alumni_voices.html.slim
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,4 @@ article.lp
svg[data-name="lp-content-divider" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"]
path.shape-fill d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z"

= render 'welcome/alumni_voices'
= render 'welcome/alumni_voices', articles: @articles
91 changes: 91 additions & 0 deletions test/system/alumni_voice_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# frozen_string_literal: true

require 'application_system_test_case'

class AlumniVoiceTest < ApplicationSystemTestCase
test 'displays articles tagged with alumni voice' do
visit_with_auth new_article_url, 'komagata'

fill_in 'article[title]', with: '最新の記事のタイトルです。'
fill_in 'article[body]', with: '最新の記事の本文です。'
fill_in 'article[summary]', with: '最新の記事のサマリーです。'
tag_input = find '.tagify__input'
tag_input.set '卒業生の声'
tag_input.native.send_keys :enter

click_on '公開する'

visit_with_auth alumni_voices_path, 'komagata'

within first '.thumbnail-card__title' do
assert_text '最新の記事のタイトルです。'
end
within first '.thumbnail-card__description' do
assert_text '最新の記事のサマリーです。'
end
other_article = articles(:article1)
assert_no_text other_article.title

first('a.thumbnail-card__inner').click
within '.article__title' do
assert_text '最新の記事のタイトルです。'
end
within '.article__body' do
assert_text '最新の記事の本文です。'
end
end

test 'articles with alumni voice tag are listed in published_at order' do
visit_with_auth new_article_url, 'komagata'

fill_in 'article[title]', with: '古い記事のタイトルです。'
fill_in 'article[body]', with: '古い記事の本文です。'
fill_in 'article[summary]', with: '古い記事のサマリーです。'
tag_input = find '.tagify__input'
tag_input.set '卒業生の声'
tag_input.native.send_keys :enter

travel_to Time.zone.local(2024, 1, 1) do
click_on '公開する'
end

visit_with_auth new_article_url, 'komagata'

fill_in 'article[title]', with: '新しい記事のタイトルです。'
fill_in 'article[body]', with: '新しい記事の本文です。'
fill_in 'article[summary]', with: '新しい記事のサマリーです。'
tag_input = find '.tagify__input'
tag_input.set '卒業生の声'
tag_input.native.send_keys :enter

travel_to Time.zone.local(2024, 1, 2) do
click_on '公開する'
end

visit_with_auth alumni_voices_path, 'komagata'

within all('.thumbnail-card__title')[0] do
assert_text '新しい記事のタイトルです。'
end

within all('.thumbnail-card__title')[1] do
assert_text '古い記事のタイトルです。'
end
end

test 'wip articles are not displayed' do
visit_with_auth new_article_url, 'komagata'

fill_in 'article[title]', with: 'WIPの記事のタイトルです。'
fill_in 'article[body]', with: 'WIPの記事の本文です。'
fill_in 'article[summary]', with: 'WIPの記事のサマリーです。'
tag_input = find '.tagify__input'
tag_input.set '卒業生の声'
tag_input.native.send_keys :enter

click_on 'WIP'

visit_with_auth alumni_voices_path, 'komagata'
assert_no_text 'WIPの記事のタイトルです。'
end
end

0 comments on commit a4c1ab5

Please sign in to comment.