EDIT:
spree-core: Форма продукта не обрабатывает отображение product.price и product.cost_price в отношении I18n / локализация. Чтобы это сработало, вам нужно изменить ядро. Я собираюсь написать об этом в команду Spree Core, но пока что я тестировал это исправление, и оно должно работать.
В / gems / spree_core-1.0.0 / app / views / spree / admin / products / _form.html.erb вам необходимо изменить следующие строки:
<%= f.text_field :price, :value => number_with_precision(@product.price, :precision => 2) %>
быть таким:
<%= f.text_field :price, :value => number_with_precision(@product.price, :precision => I18n.t('number.currency.format.precision'), :separator => I18n.t('number.currency.format.separator'), :delimiter => I18n.t('number.currency.format.delimiter')) %>
и это:
<%= f.text_field :cost_price, :value => number_with_precision(@product.cost_price, :precision => 2) %>
быть таким:
<%= f.text_field :cost_price, :value => number_with_precision(@product.cost_price, :precision => I18n.t('number.currency.format.precision'), :separator => I18n.t('number.currency.format.separator'), :delimiter => I18n.t('number.currency.format.delimiter')) %>
По сути, мы заставляем его обрабатывать потенциальные значения I18n.
ОРИГИНАЛ:
Я точно продублировал ваш файл и попробовал несколько тестов, чтобы воссоздать его (создать новый продукт, новый вариант продукта, изменить цену продукта, себестоимость и т. Д.). Чтобы воссоздать это, вам нужно создать de_numbers.yml и перевернуть вашу локализацию на «de» в инициализаторе Spree с помощью «config.default_locale = 'de'"
Вот некоторые предлагаемые исправления:
- убедитесь, что вы запускаете пакетную установку
- в вашем Gemfile, убедитесь, что вы используете последнюю версию i18n (
gem 'spree_i18n',: git => 'git: //github.com/spree/spree_i18n.git')
- исправьте пробел в 2 пробела вместо табуляции (это потенциально проблема пробела, из-за которой он не может прочитать ваши значения i18n )
- Войдите в консоль rails и выйдите из значений (т. Е.
I18n.t ( 'number.currency.format.unit')
- Попробуйте сначала заставить работать это в локали "en", а затем в "de".
- Сначала поместите ваши значения в "de.yml" или "en.yml" и посмотрите, работают ли они, прежде чем помещать в файл "de_currency.yml".