Потеря параметров при смене локали - PullRequest
0 голосов
/ 12 марта 2019

Я использую I18 для управления переводом, и у меня есть simple_form для сбора данных от пользователя.Все работает хорошо, за исключением случаев, когда пользователь меняет язык во время выполнения формы, в этом случае я теряю данные и параметры, отправленные в эту форму.

Вот мой код маршрутов

Rails.application.routes.draw do

  scope '(:locale)', locale: /# 
  {I18n.available_locales.join("|")}/ do
  ActiveAdmin.routes(self)

end

Вот мой код контроллера приложения:

...

before_filter :set_locale

def set_locale
  I18n.locale = params[:locale] || I18n.default_locale
end

def default_url_options(options = {})
   { locale: I18n.locale }
end
 ...

Вот код моей формы:

 <%= simple_form_for @traveller, html: { class: "sigPad"} do |f| %>

       <%= f.input :name %>
       <%= f.input :surname %>
       <%= f.input :surnames %>

       <br>
       <%= f.hidden_field :part_id, value: @traveller.part_id  %>
       <br>
       <br>


       <%= f.button :submit, t("application.val"), class: 'btn btn-success'  %>

 <% end %>

Вот ссылки в нижнем колонтитуле для изменения локали:

 <li class="flag"> 
   <%= image_tag "es.png" %> 
   <%= link_to "Español", locale: "es" %>
 </li>
 <li class="flag"> 
   <%= image_tag "uk.png" %> 
   <%= link_to "English", locale: "en"%>
 </li>
...