diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb
index a88adce..3870a06 100644
--- a/app/helpers/issues_helper.rb
+++ b/app/helpers/issues_helper.rb
@@ -460,14 +460,14 @@ module IssuesHelper
end
@detail_value_name_by_reflection ||= Hash.new do |hash, key|
association = Issue.reflect_on_association(key.first.to_sym)
+ name = nil
if association
record = association.klass.find_by_id(key.last)
if record
- record.name.force_encoding('UTF-8')
- hash[key] = record.name
+ name = record.name.force_encoding('UTF-8')
end
end
- hash[key] ||= nil
+ hash[key] = name
end
@detail_value_name_by_reflection[[field, id]]
end
diff --git a/test/unit/helpers/issues_helper_test.rb b/test/unit/helpers/issues_helper_test.rb
index 2062464..b275e75 100644
--- a/test/unit/helpers/issues_helper_test.rb
+++ b/test/unit/helpers/issues_helper_test.rb
@@ -295,4 +295,8 @@ class IssuesHelperTest < ActionView::TestCase
assert_equal "Precedes deleted (Issue ##{issue.id})", show_detail(detail, true)
assert_equal "Precedes deleted (Issue ##{issue.id})", show_detail(detail, false)
end
+
+ def test_find_name_by_reflection_should_return_nil_for_missing_record
+ assert_nil find_name_by_reflection('status', 99)
+ end
end