Fix NoMethodError on nil entryable in account activity feed (#1316)

* Fix NoMethodError when entry has nil entryable

Guard against orphaned entries where the entryable record has been
deleted but the entry still exists, preventing a crash on the
account show page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add dependent: :destroy to Entryable has_one :entry

The polymorphic has_one :entry association lacked a dependent option,
meaning if a Transaction/Trade/Valuation was ever deleted directly
(bypassing the Entry), the Entry would be left orphaned with a nil
entryable — causing NoMethodError in the activity feed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add nil entryable guard to _split_group.html.erb

Same defensive check as _entry.html.erb for consistency.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Serge L
2026-03-29 11:30:12 -04:00
committed by GitHub
parent c14ba6d0c9
commit 861a2d2d91
3 changed files with 9 additions and 5 deletions

View File

@@ -10,7 +10,7 @@ module Entryable
included do
include Enrichable
has_one :entry, as: :entryable, touch: true
has_one :entry, as: :entryable, touch: true, dependent: :destroy
scope :with_entry, -> { joins(:entry) }