diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb index fc430544fbe..1a8d8a46510 100644 --- a/app/controllers/auth/registrations_controller.rb +++ b/app/controllers/auth/registrations_controller.rb @@ -135,7 +135,10 @@ class Auth::RegistrationsController < Devise::RegistrationsController @accept_token = session[:accept_token] = SecureRandom.hex @invite_code = invite_code - set_locale { render :rules } + set_locale do + @rule_translations = @rules.map { |rule| rule.translation_for(I18n.locale) } + render :rules + end end def is_flashing_format? # rubocop:disable Naming/PredicatePrefix diff --git a/app/views/auth/registrations/rules.html.haml b/app/views/auth/registrations/rules.html.haml index 59e7c9072fb..06fd87259a3 100644 --- a/app/views/auth/registrations/rules.html.haml +++ b/app/views/auth/registrations/rules.html.haml @@ -17,12 +17,7 @@ %p.lead= t('auth.rules.preamble', domain: site_hostname) %ol.rules-list - - @rules.each do |rule| - - translation = rule.translation_for(I18n.locale.to_s) - %li - %button{ type: 'button', aria: { expanded: 'false' } } - .rules-list__text= translation.text - .rules-list__hint= translation.hint + = render @rule_translations .stacked-actions - accept_path = @invite_code.present? ? public_invite_url(invite_code: @invite_code, accept: @accept_token) : new_user_registration_path(accept: @accept_token) diff --git a/app/views/auth/rule_translations/_rule_translation.html.haml b/app/views/auth/rule_translations/_rule_translation.html.haml new file mode 100644 index 00000000000..32b9cc28af1 --- /dev/null +++ b/app/views/auth/rule_translations/_rule_translation.html.haml @@ -0,0 +1,4 @@ +%li + %button{ type: 'button', aria: { expanded: 'false' } } + .rules-list__text= rule_translation.text + .rules-list__hint= rule_translation.hint