diff --git a/app/helpers/devise_helper.rb b/app/helpers/devise_helper.rb
index 7902752a..cfcbc821 100644
--- a/app/helpers/devise_helper.rb
+++ b/app/helpers/devise_helper.rb
@@ -11,7 +11,7 @@ module DeviseHelper
messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
sentence = I18n.t("errors.messages.not_saved",
:count => resource.errors.count,
- :resource => resource_name)
+ :resource => resource.class.model_name.human.downcase)
html = <<-HTML
diff --git a/test/helpers/devise_helper_test.rb b/test/helpers/devise_helper_test.rb
new file mode 100644
index 00000000..b81e1f4c
--- /dev/null
+++ b/test/helpers/devise_helper_test.rb
@@ -0,0 +1,41 @@
+require 'test_helper'
+
+class DeviseHelperTest < ActionController::IntegrationTest
+ setup do
+ I18n.backend.store_translations :fr,
+ {
+ :errors => { :messages => { :not_saved => {
+ :one => "Erreur lors de l'enregistrement de '%{resource}': 1 erreur.",
+ :other => "Erreur lors de l'enregistrement de '%{resource}': %{count} erreurs."
+ } } },
+ :activerecord => { :models => { :user => "utilisateur" } }
+ }
+
+ I18n.locale = 'fr'
+ end
+
+ test 'test errors.messages.not_saved with single error from i18n' do
+
+ get new_user_registration_path
+
+ fill_in 'password', :with => 'new_user123'
+ fill_in 'password confirmation', :with => 'new_user123'
+ click_button 'Sign up'
+
+ assert_have_selector '#error_explanation'
+ assert_contain "Erreur lors de l'enregistrement de 'utilisateur': 1 erreur"
+ end
+
+ test 'test errors.messages.not_saved with multiple errors from i18n' do
+ get new_user_registration_path
+
+ fill_in 'email', :with => 'invalid_email'
+ fill_in 'password', :with => 'new_user123'
+ fill_in 'password confirmation', :with => 'new_user321'
+ click_button 'Sign up'
+
+ assert_have_selector '#error_explanation'
+ assert_contain "Erreur lors de l'enregistrement de 'utilisateur': 2 erreurs"
+ end
+
+end
\ No newline at end of file