2
Spree_i18n 프론트 엔드 탐색 바 로케일을 사용자 정의하려고하는데 select_tag에서 link_to로 변경하는 데 문제가 있습니다. EN/CN의 두 가지 로케일 선택만으로 표시하려고합니다. 이것이 가장 좋은 해결책은 무엇입니까?Spree_i18n 프런트 엔드 사용자 정의 로케일
locale.js
load = function() {
return $('#locale-select select').change(function() {
return $.ajax({
type: 'POST',
url: $(this).data('href'),
data: {
locale: $(this).val()
}
}).done(function() {
return window.location.reload();
});
});
};
navbar.html.erb
<li id="locale-select" data-hook>
<%= form_tag set_locale_path, class: 'navbar-form' do %>
<div class="form-group">
<label for="locale" class="sr-only"><%= t(:'i18n.language') %></label>
<%= select_tag(:locale, options_for_select(supported_locales_options, I18n.locale), class: 'form-control', data: { href: set_locale_path }) %>
<noscript><%= submit_tag %></noscript>
</div>
<% end %>
</li>
당신의 문제는 무엇인가? – MoMolog
나는 Spree가 세션을 사용하여 로케일을 변경하고 있다고 생각합니다. <% = link_to 'EN', set_locale_path (locale : : en)을 입력하면 "Post", 데이터 : {href : set_locale_path} %>를 입력하십시오. url은 http : // localhost : 3000/localeset? locale = en을 렌더링하고 root_path로 리디렉션됩니다. localeset을 없애고 싶습니다. locale = en 그리고 root_path로 리디렉션하지 마십시오. –