Skip to content

Conversation

@zamami
Copy link
Contributor

@zamami zamami commented Oct 1, 2025

Issue

概要

・一部研修ユーザーにおいて、プロフィールページの選択入力の研修感想がハッシュ展開のような表示になっているバグを修正。

変更確認方法

1.git fetch origin bug/profile-hash-displayを実行してブランチをbug/profile-hash-displayに変更する。
2. foreman start -f Procfile.devでサーバーを立ち上げる。
3. 研修中のユーザーでログインし、http://localhost:3000/training_completion/new にアクセス。
4. 「全体の満足度を教えてください」の項目の中で「良い」にチェックが入っていることを確認する。

Summary by CodeRabbit

  • バグ修正

    • 研修完了情報の満足度が未入力の場合、「未入力」を表示するように変更。空欄や不正確な表示を防止し、ユーザー詳細ページの表示の一貫性を向上。既存の表示ロジックを見直し、不要な翻訳参照を回避。
  • テスト

    • 満足度が未入力のときに「未入力」が表示されることを確認するシステムテストを追加。認証後に対象ユーザーのページで研修完了セクションの表示を検証。

@zamami zamami self-assigned this Oct 1, 2025
@coderabbitai
Copy link

coderabbitai bot commented Oct 1, 2025

Walkthrough

ユーザー詳細の「研修完了情報」表示で、満足度(satisfaction)がnilの場合に「未入力」を表示する条件分岐を追加。併せて、この挙動を検証するシステムテストを新規追加。

Changes

Cohort / File(s) Change Summary
View 条件分岐追加
app/views/users/_training_completion_info.html.slim
user.satisfaction がnilなら「未入力」、それ以外は翻訳された値を表示する条件分岐を導入。
System テスト追加
test/system/training_completion_test.rb
満足度がnilの場合に「未入力」が表示されることを確認するテストケースを追加。

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor U as User (Browser)
  participant C as UsersController
  participant V as _training_completion_info.html.slim
  participant M as User Model

  U->>C: ユーザー詳細ページをリクエスト
  C->>M: ユーザー読み込み
  M-->>C: User インスタンス
  C->>V: 部分テンプレートをレンダリング
  alt satisfaction が nil
    V-->>U: 「未入力」を表示
  else satisfaction が存在
    V-->>U: 翻訳済み満足度を表示
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • jun-kondo
  • komagata

Poem

ぴょんと跳ねてビューを確認、nilだって怖くない
「未入力」そっと置いて、空白の穴を塞ぐのだ
テストも一緒にぴったり追走
うさぎの足跡、安定の証
(=^·^=)✿ 今日は安心してにんじんタイム

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed 現在のタイトルは修正内容ではなくバグの状態を説明しており「修正」アクションが明確でないうえ冗長に.issue番号が含まれているため、変更内容を端的に表すタイトルにはなっていません。
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Description check ✅ Passed プルリクエストの説明はテンプレートのほぼすべての必須セクションを含んでいます。
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bug/profile-hash-display

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot requested a review from komagata October 1, 2025 07:36
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 241422d and f67520a.

📒 Files selected for processing (3)
  • app/controllers/training_completion_controller.rb (1 hunks)
  • app/views/users/_training_completion_info.html.slim (1 hunks)
  • test/system/training_completion_test.rb (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
**/*.rb

⚙️ CodeRabbit configuration file

**/*.rb: # refactoring

  • まずFat Controllerを避け、次にFat Modelを避ける。
  • Serviceクラスの乱用を避ける。
  • controller concernを作ろうとしたらPORO(Plain Old Ruby Object)やActiveRecordモデルでの実装で代替できないか検討する。

Rails Patterns

  • ViewHelperにメソッドを実装する時にはまずDecoratorパターンを使うことを検討する。(active_decorator gemを導入しているのでそれを使う)
  • 複雑なActiveRecordクエリがあり、再利用できそうな場合はQueryObjectパターンを検討する。(rails-patterns gemを導入しているのでそれのQuery機能を使う)
  • Viewにpartialを作る場合はViewComponentを使うことを検討する。
  • 複数のActiveRecordモデルを操作する1つの責務がある時や外部APIとやりとりする処理がある場合にはInteractorオブジェクトパターンを検討する。(interactor gemを導入しているのでそれを使う)
  • 複数のInteractorを実行するような処理がある場合Organizerオブジェクトパターンを検討する。(interactor gemを導入しており、その中にOrganizerの機能があるので使う)

Files:

  • test/system/training_completion_test.rb
  • app/controllers/training_completion_controller.rb
test/**/*

⚙️ CodeRabbit configuration file

test/**/*: # Test

  • TestCase名は英語で書く。
  • どうしても避けられない時以外にsystem testでsleepは使わない。

Unit Test

model, helper, decorator, view_componentについてはメソッドを追加した場合は必ず対応したUnit TestのTestCaseを1つは書く。

Files:

  • test/system/training_completion_test.rb
🧬 Code graph analysis (1)
app/controllers/training_completion_controller.rb (1)
app/controllers/user_sessions_controller.rb (1)
  • new (6-8)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build_and_test
🔇 Additional comments (3)
app/views/users/_training_completion_info.html.slim (1)

14-14: LGTM! nil チェックでハッシュ展開のような表示を防止しています。

三項演算子を使用して satisfaction が nil の場合に「未入力」を表示し、値がある場合は翻訳済みの enum 値を表示する実装は適切です。PR の目的であるバグ修正が正しく行われています。

app/controllers/training_completion_controller.rb (1)

9-11: LGTM! フォームの初期値設定として適切な実装です。

||= 演算子を使用して satisfaction が未設定の場合のみ「良い」に初期化する実装は、フォームのデフォルト値を設定する一般的なパターンであり、適切です。データベースへの保存は行わず、メモリ上での初期化のみを行っているため、Fat Controller にもなっていません。

test/system/training_completion_test.rb (1)

166-169: LGTM! フォームの初期状態を適切にテストしています。

テスト名が英語で記述されており、コーディングガイドラインに準拠しています。assert_checked_field を使用して「良い」オプションがプリセレクトされていることを検証する実装は適切です。

@zamami zamami force-pushed the bug/profile-hash-display branch 2 times, most recently from 3208bc3 to f8bd4f6 Compare October 1, 2025 11:20
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
app/views/users/_training_completion_info.html.slim (1)

14-14: バグ修正が適切に実装されています。

satisfactionnil の場合に「未入力」を表示するガード処理により、ハッシュ展開のような表示バグが修正されています。三項演算子の使用も適切です。

任意の改善案として、コーディングガイドラインに従い、この表示ロジックを Decorator パターン(active_decorator gem)でカプセル化することも検討できます。ただし、現在のシンプルな実装で十分です。

任意のリファクタリング例:

app/decorators/user_decorator.rb にメソッドを追加する場合:

def formatted_satisfaction
  satisfaction.nil? ? '未入力' : I18n.t("activerecord.enums.user.satisfaction.#{satisfaction}")
end

ビューでは以下のように使用:

= user.formatted_satisfaction

ただし、この変更は現時点では必須ではありません。

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3208bc3 and f8bd4f6.

📒 Files selected for processing (3)
  • app/controllers/training_completion_controller.rb (1 hunks)
  • app/views/users/_training_completion_info.html.slim (1 hunks)
  • test/system/training_completion_test.rb (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • test/system/training_completion_test.rb
🧰 Additional context used
📓 Path-based instructions (1)
**/*.rb

⚙️ CodeRabbit configuration file

**/*.rb: # refactoring

  • まずFat Controllerを避け、次にFat Modelを避ける。
  • Serviceクラスの乱用を避ける。
  • controller concernを作ろうとしたらPORO(Plain Old Ruby Object)やActiveRecordモデルでの実装で代替できないか検討する。

Rails Patterns

  • ViewHelperにメソッドを実装する時にはまずDecoratorパターンを使うことを検討する。(active_decorator gemを導入しているのでそれを使う)
  • 複雑なActiveRecordクエリがあり、再利用できそうな場合はQueryObjectパターンを検討する。(rails-patterns gemを導入しているのでそれのQuery機能を使う)
  • Viewにpartialを作る場合はViewComponentを使うことを検討する。
  • 複数のActiveRecordモデルを操作する1つの責務がある時や外部APIとやりとりする処理がある場合にはInteractorオブジェクトパターンを検討する。(interactor gemを導入しているのでそれを使う)
  • 複数のInteractorを実行するような処理がある場合Organizerオブジェクトパターンを検討する。(interactor gemを導入しており、その中にOrganizerの機能があるので使う)

Files:

  • app/controllers/training_completion_controller.rb
🧬 Code graph analysis (1)
app/controllers/training_completion_controller.rb (1)
app/controllers/user_sessions_controller.rb (1)
  • new (6-8)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build_and_test
🔇 Additional comments (1)
app/controllers/training_completion_controller.rb (1)

9-11: デフォルト値の設定ロジックは適切です。‘good’ は User モデルの satisfaction enum に定義されています。

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
test/system/training_completion_test.rb (1)

157-164: テストの前提条件を明示的に設定することを検討してください。

テストの構造と英語の命名規則への準拠は適切です。ただし、研修終了情報セクションが表示されるためには training_completed_at が設定されている必要があります。現在のテストは :kensyuowata フィクスチャがこの値を持っていることを前提としていますが、より堅牢にするため、テスト内で明示的に設定することを推奨します。

以下のように修正することで、テストの意図がより明確になります:

  test 'shows not entered when satisfaction is nil' do
    user = users(:kensyuowata)
-   user.update!(satisfaction: nil)
+   user.update!(satisfaction: nil, training_completed_at: Time.current)

    visit_with_auth "/users/#{user.id}", 'komagata'
    assert_text '研修終了情報(非公開)'
    assert_text '未入力'
  end

これにより、フィクスチャの状態に依存せず、テストの前提条件が明確になります。

Based on coding guidelines

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f8bd4f6 and b7b6f59.

📒 Files selected for processing (1)
  • test/system/training_completion_test.rb (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
**/*.rb

⚙️ CodeRabbit configuration file

**/*.rb: # refactoring

  • まずFat Controllerを避け、次にFat Modelを避ける。
  • Serviceクラスの乱用を避ける。
  • controller concernを作ろうとしたらPORO(Plain Old Ruby Object)やActiveRecordモデルでの実装で代替できないか検討する。

Rails Patterns

  • ViewHelperにメソッドを実装する時にはまずDecoratorパターンを使うことを検討する。(active_decorator gemを導入しているのでそれを使う)
  • 複雑なActiveRecordクエリがあり、再利用できそうな場合はQueryObjectパターンを検討する。(rails-patterns gemを導入しているのでそれのQuery機能を使う)
  • Viewにpartialを作る場合はViewComponentを使うことを検討する。
  • 複数のActiveRecordモデルを操作する1つの責務がある時や外部APIとやりとりする処理がある場合にはInteractorオブジェクトパターンを検討する。(interactor gemを導入しているのでそれを使う)
  • 複数のInteractorを実行するような処理がある場合Organizerオブジェクトパターンを検討する。(interactor gemを導入しており、その中にOrganizerの機能があるので使う)

Files:

  • test/system/training_completion_test.rb
test/**/*

⚙️ CodeRabbit configuration file

test/**/*: # Test

  • TestCase名は英語で書く。
  • どうしても避けられない時以外にsystem testでsleepは使わない。

Unit Test

model, helper, decorator, view_componentについてはメソッドを追加した場合は必ず対応したUnit TestのTestCaseを1つは書く。

Files:

  • test/system/training_completion_test.rb
🧠 Learnings (3)
📚 Learning: 2025-09-04T01:39:22.261Z
Learnt from: Miya096jp
PR: fjordllc/bootcamp#9102
File: app/controllers/mentor/buzzes_controller.rb:0-0
Timestamp: 2025-09-04T01:39:22.261Z
Learning: fjordllc/bootcamp プロジェクトでは、更新処理の成功時の通知メッセージについて、I18n を使用せずに日本語文字列を直接記述する方針で一貫性を保っている。

Applied to files:

  • test/system/training_completion_test.rb
📚 Learning: 2025-06-29T03:44:15.179Z
Learnt from: hirokiej
PR: fjordllc/bootcamp#8740
File: app/helpers/reports_helper.rb:56-64
Timestamp: 2025-06-29T03:44:15.179Z
Learning: このプロジェクト(fjordllc/bootcamp)では、ja.ymlファイルで一部の単語や文章のみI18n対応されているが、多くのテキストは日本語でハードコーディングされており、完全な国際化対応は行われていない。新しい機能でもI18n対応は不要と判断される。

Applied to files:

  • test/system/training_completion_test.rb
📚 Learning: 2025-07-23T20:42:19.974Z
Learnt from: jun-kondo
PR: fjordllc/bootcamp#0
File: :0-0
Timestamp: 2025-07-23T20:42:19.974Z
Learning: fjordllc/bootcampプロジェクトでは、hタグ(見出し)の文言は日本語でハードコーディングする方針が確立されており、I18n対応は行わない。例:app/views/welcome/logo.html.slimでh2、h3タグが日本語でハードコーディングされている。

Applied to files:

  • test/system/training_completion_test.rb
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build_and_test

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
app/controllers/reports/unchecked_controller.rb (1)

4-4: 定数の重複を確認してください。

PAGER_NUMBER = 25app/controllers/reports_controller.rb と重複しています。共通の定数として ApplicationController や専用の concern に抽出することを検討してください。

例えば、以下のように共通化できます:

# app/controllers/concerns/paginatable.rb
module Paginatable
  extend ActiveSupport::Concern
  
  PAGER_NUMBER = 25
end

その後、各コントローラで:

class Reports::UncheckedController < ApplicationController
  include Paginatable
  # ...
end
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b7b6f59 and 1cbaf8e.

📒 Files selected for processing (20)
  • app/controllers/api/admin/count_controller.rb (1 hunks)
  • app/controllers/reports/unchecked_controller.rb (1 hunks)
  • app/controllers/reports_controller.rb (0 hunks)
  • app/helpers/meta_tags_helper.rb (2 hunks)
  • app/javascript/stylesheets/lp/blocks/lp/_lp-price.sass (3 hunks)
  • app/javascript/stylesheets/lp/layouts/_l-cards.sass (1 hunks)
  • app/views/home/_unchecked_report_alert.html.slim (1 hunks)
  • app/views/reports/index.html.slim (2 hunks)
  • app/views/welcome/_pricing.html.slim (1 hunks)
  • app/views/welcome/certified_reskill_courses/rails_developer_course/_course_fees.html.slim (4 hunks)
  • app/views/welcome/certified_reskill_courses/rails_developer_course/_course_overview.html.slim (2 hunks)
  • app/views/welcome/index.html.slim (1 hunks)
  • app/views/welcome/law.html.slim (1 hunks)
  • app/views/welcome/pricing.html.slim (2 hunks)
  • app/views/welcome/training.html.slim (2 hunks)
  • config/routes/reports.rb (1 hunks)
  • test/system/admin/campaigns_test.rb (1 hunks)
  • test/system/articles_test.rb (1 hunks)
  • test/system/markdown_test.rb (1 hunks)
  • test/system/reports_practice_filter_test.rb (0 hunks)
💤 Files with no reviewable changes (2)
  • app/controllers/reports_controller.rb
  • test/system/reports_practice_filter_test.rb
✅ Files skipped from review due to trivial changes (2)
  • test/system/admin/campaigns_test.rb
  • app/views/welcome/law.html.slim
🧰 Additional context used
📓 Path-based instructions (2)
**/*.rb

⚙️ CodeRabbit configuration file

**/*.rb: # refactoring

  • まずFat Controllerを避け、次にFat Modelを避ける。
  • Serviceクラスの乱用を避ける。
  • controller concernを作ろうとしたらPORO(Plain Old Ruby Object)やActiveRecordモデルでの実装で代替できないか検討する。

Rails Patterns

  • ViewHelperにメソッドを実装する時にはまずDecoratorパターンを使うことを検討する。(active_decorator gemを導入しているのでそれを使う)
  • 複雑なActiveRecordクエリがあり、再利用できそうな場合はQueryObjectパターンを検討する。(rails-patterns gemを導入しているのでそれのQuery機能を使う)
  • Viewにpartialを作る場合はViewComponentを使うことを検討する。
  • 複数のActiveRecordモデルを操作する1つの責務がある時や外部APIとやりとりする処理がある場合にはInteractorオブジェクトパターンを検討する。(interactor gemを導入しているのでそれを使う)
  • 複数のInteractorを実行するような処理がある場合Organizerオブジェクトパターンを検討する。(interactor gemを導入しており、その中にOrganizerの機能があるので使う)

Files:

  • app/helpers/meta_tags_helper.rb
  • config/routes/reports.rb
  • test/system/markdown_test.rb
  • test/system/articles_test.rb
  • app/controllers/api/admin/count_controller.rb
  • app/controllers/reports/unchecked_controller.rb
test/**/*

⚙️ CodeRabbit configuration file

test/**/*: # Test

  • TestCase名は英語で書く。
  • どうしても避けられない時以外にsystem testでsleepは使わない。

Unit Test

model, helper, decorator, view_componentについてはメソッドを追加した場合は必ず対応したUnit TestのTestCaseを1つは書く。

Files:

  • test/system/markdown_test.rb
  • test/system/articles_test.rb
🧠 Learnings (1)
📚 Learning: 2025-09-12T01:00:58.452Z
Learnt from: Miya096jp
PR: fjordllc/bootcamp#9102
File: app/views/mentor/buzzes/edit.html.slim:1-0
Timestamp: 2025-09-12T01:00:58.452Z
Learning: app/views/mentor/buzzes/edit.html.slim では `- title` と `- set_meta_tags` の両方が正しく設定されており、タイトルは削除されていない。変更内容はメタディスクリプションの追加のみ。

Applied to files:

  • test/system/articles_test.rb
🧬 Code graph analysis (1)
app/controllers/reports/unchecked_controller.rb (2)
app/controllers/reports_controller.rb (1)
  • index (16-19)
app/controllers/concerns/authentication/login_helpers.rb (1)
  • admin_or_mentor_login? (27-29)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build_and_test
🔇 Additional comments (25)
app/javascript/stylesheets/lp/layouts/_l-cards.sass (2)

4-7: レスポンシブなギャップの追加は適切です。

ブレークポイントごとに適切なギャップ値が設定されており、レイアウトの改善として問題ありません。


38-38: ビューポート幅を考慮したmax-widthの設定は適切です。

calc(100vw - 2rem)により、小画面でのはみ出しを防ぐ実装になっています。

test/system/markdown_test.rb (1)

18-20: テストのスキップは意図的なものです。

markdown-it-purifierの問題が解決されるまで一時的にスキップしており、メッセージも明確です。問題が解決したら、このテストを有効化することを忘れないようにしてください。

app/controllers/api/admin/count_controller.rb (1)

10-10: 研修完了ユーザーを除外するフィルタ条件の追加は適切です。

training_completed_at: nilの追加により、研修完了済みのユーザーをアクティブユーザー数から除外する実装になっており、他のフィルタ条件と一貫性があります。

app/views/welcome/_pricing.html.slim (2)

17-22: 料金表示の更新と税込表示の追加は適切です。

月額料金が32,780円に更新され、税込表示も明示的に追加されています。ユーザーにとって分かりやすい表示になっています。


26-26: 法人利用料金の更新も適切です。

個人向け料金の改定に合わせて、法人利用料金も109,780円(税込)に更新されており、一貫性があります。

config/routes/reports.rb (1)

4-6: 未チェック日報用のルーティング追加は適切です。

名前空間を使った構造で、RESTfulな設計になっています。reports_unchecked_index_pathというルートヘルパーが利用可能になります。

app/views/home/_unchecked_report_alert.html.slim (1)

10-10: ルートヘルパーの使用への変更は良い改善です。

ハードコードされたパス'/reports/unchecked'からreports_unchecked_index_pathへの変更により、ルート構造の変更に対して保守性が向上しています。

app/views/reports/index.html.slim (3)

23-25: コントローラーパスベースのナビゲーション判定への変更は良い改善です。

params[:unchecked]ではなくcontroller_pathを使用することで、ルーティング構造に基づいた堅牢な実装になっています。新しいReports::UncheckedControllerとの統合も適切です。


26-26: フィルターフォームの条件分岐の更新は適切です。

controller_pathを使用した一貫性のある条件判定になっています。


47-48: メンター向け一括操作機能の条件付きレンダリングは適切です。

mentor_login?controller_pathの組み合わせにより、適切な権限チェックと画面判定が行われています。

app/views/welcome/certified_reskill_courses/rails_developer_course/_course_fees.html.slim (3)

23-26: 受講料のタイトル簡略化と価格更新は適切です。

「受講料 + 教材費」から「受講料」への変更により表示がシンプルになり、価格も786,720円(税込)に正しく更新されています。


51-58: 給付金額の更新は正確です。

786,720円の80%である629,376円が正しく計算・表示されています。


69-76: 自己負担額の更新は正確です。

786,720円 - 629,376円 = 157,344円の計算が正しく反映されています。

app/views/welcome/certified_reskill_courses/rails_developer_course/_course_overview.html.slim (1)

76-88: 変更内容を承認します。

受講料の更新と税込表記の追加、および教材費の変動に関する注記の追加は適切です。用語の統一(授業料→受講料)も改善として評価できます。

app/javascript/stylesheets/lp/blocks/lp/_lp-price.sass (1)

12-81: スタイル変更を承認します。

価格表示の強化と税込表記の強調のための変更は適切です。新しい .is-total モディファイアと関連するコンポーネントブロック(.lp-price__per-person.lp-price__tax.lp-price__total-value)の追加により、価格表示の柔軟性が向上しています。レスポンシブ対応も適切に実装されています。

app/controllers/reports/unchecked_controller.rb (1)

7-11: 実装を承認します。

未確認レポートの専用コントローラへの分離は適切です。アクセス制御、ページネーション、共有ビューの使用も正しく実装されています。

test/system/articles_test.rb (1)

268-268: テストの更新を承認します。

メタディスクリプションのテストアサーションが新しい価格(32,780円(税込))を正しく反映しています。

app/views/welcome/pricing.html.slim (2)

6-6: メタディスクリプションの更新を承認します。

新しい価格(32,780円(税込))を反映したメタディスクリプションは適切です。


48-57: 価格表示の更新を承認します。

一般利用の月額料金(32,780円)および法人向け料金(109,780円)への更新は正しく反映されています。税込表記も明確です。

app/helpers/meta_tags_helper.rb (2)

10-10: デフォルトメタタグの更新を承認します。

新しい価格(32,780円(税込))を反映したディスクリプションは適切です。OGPとTwitterカードでも正しく使用されます。


34-34: Welcomeメタタグの更新を承認します。

welcome_meta_tags メソッドのディスクリプションも新しい価格に正しく更新されています。

app/views/welcome/index.html.slim (2)

2-2: メタディスクリプションの更新を承認します。

新しい価格(32,780円(税込))への更新は適切です。


3-5: formrun.js の参照はこのファイルのみです。フォーム機能がこのスクリプトに依存していないか、動作確認をお願いします。

app/views/welcome/training.html.slim (1)

303-327: 価格表示の再構築を承認します。

法人向け価格表示の改善は適切です:

  • コンテナサイズの拡大(is-md → is-lg)により、情報の視認性が向上しています
  • 「1名につき月額」の明示により、料金体系がより明確になっています
  • 一般利用との比較リンクの追加は、ユーザーにとって有用です
  • 新しい価格(109,780円(税込)および32,780円(税込))が正しく反映されています

変更は _lp-price.sass のスタイル更新とも整合性が取れています。

@zamami zamami force-pushed the bug/profile-hash-display branch from 1cbaf8e to b2fb43f Compare October 3, 2025 05:06
@zamami
Copy link
Contributor Author

zamami commented Oct 3, 2025

@karlley
お疲れ様です!
こちらのレビュー依頼をお願いしたいのですがいかがでしょうか?
軽めの実装ですので、お手隙であればお願いしたいです。
ご検討よろしくお願いします!

@karlley
Copy link
Contributor

karlley commented Oct 5, 2025

@zamami
お疲れ様です!
レビュー承知しました😄
一週間ほどお時間いただきたいので問題ないでしょうか?

@zamami
Copy link
Contributor Author

zamami commented Oct 6, 2025

@karlley
ありがとうございます!
はい問題ありません。

もし、お仕事の都合でレビューが厳しくなりましたらいつでも気軽にご連絡ください。

@karlley
Copy link
Contributor

karlley commented Oct 6, 2025

@zamami
お気遣いありがとうございます!
よろしくお願いします😄

@karlley karlley self-requested a review October 6, 2025 21:01
Copy link
Contributor

@karlley karlley left a comment

Choose a reason for hiding this comment

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

@zamami

お待たせしました!
修正内容に関する確認です。

研修終了ユーザー(id: 782540538)でログインしたところ研修終了手続きのデフォルト値が設定されていませんでした。

研修終了手続き

そのため、動作確認手順での確認ができていない状況です。

  • コミットログでもデフォルト値の修正は削除されている(コミットid: b2fb43f)
  • デフォルト値の設定の修正(コミットid: b2fb43f)をローカルで追加するとデフォルト値が設定された

上記2点を踏まえて以下を教えていただきたいです。
issueを見る限り以下の2点の修正が当PRには含まれるという認識で正しいでしょうか?

・user.satisfaction がnilだった場合「未入力」と表示させる。(もしくは空白?)
・研修終了手続きフォームにデフォルト値を入れる(「どちらでもない」にチェックを入れたほうがいい?)

もし、修正の方針がどちらか片方のみに変更になっている場合、経緯と詳細を教えてください。

お手数おかけしますが確認お願いいたします🙇‍♂️

@zamami
Copy link
Contributor Author

zamami commented Oct 15, 2025

@karlley
返信遅くなって申し訳ありません。
こちら、前回の開発MTGに参加しデモを行ったところ、komagataさんからデフォルト値は削除した方がいいとご指摘を受けたので削除いたしました。
なのでこちら、ハッシュ展開のような表示の修正のみで大丈夫です。

PRの概要を修正しますので少々お待ちください。

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