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 2015-01-22 05:31:58
我相信Spree正在使用會話來改變語言環境。當我嘗試<%= link_to'EN,set_locale_path(locale :: en),輸入:「Post」,data:{href:set_locale_path}%>。該URL將呈現http:// localhost:3000/localeset?locale = en,並將重定向到root_path。我想擺脫localeset?locale = en並讓它不重定向到root_path。 – 2015-01-22 09:37:04