Skip to content

Commit 9b39c77

Browse files
committed
Limit on failed message size*
As flash can be saved by cookie, too much content can cause CookieOverflowError. Upadate to display 5 failed message by default. Refer to PR #59, #59 (reference)
1 parent 691820f commit 9b39c77

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

lib/active_admin_import/dsl.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ module DSL
3535
flash[:notice] = I18n.t('active_admin_import.imported', count: result.imported_qty, model: model_name, plural_model: plural_model_name)
3636
end
3737
if result.has_failed?
38-
flash[:error] = I18n.t('active_admin_import.failed', count: result.failed.count, model: model_name, plural_model: plural_model_name, message: result.failed_message)
38+
flash[:error] = I18n.t('active_admin_import.failed', count: result.failed.count, model: model_name, plural_model: plural_model_name, message: result.failed_message(limit: 5))
3939
end
4040
end
4141
end

lib/active_admin_import/import_result.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ def empty?
2828
total == 0
2929
end
3030

31-
def failed_message
32-
failed.map{|record|
31+
def failed_message(limit: nil)
32+
limit ||= failed.count
33+
failed.first(limit).map{|record|
3334
errors = record.errors
3435
(errors.full_messages.zip errors.keys.map{|k| record.send k}).map{|ms| ms.join(' - ')}.join(', ')
3536
}.join(" ; ")

0 commit comments

Comments
 (0)