ruby-on-rails – 在Spree(RoR)中保存产品时价格乘以100

ruby-on-rails – 在Spree(RoR)中保存产品时价格乘以100,第1张

概述我在Rails 3.1.3和 Ruby 1.9.3之上安装了在线购物框架Spree.我还使用Spree_i18n gem来本地化商店.现在,每当我保存产品时,价格都会乘以100. 例如,在管理区域中,我键入3.20的价格.这导致值320.如果我再次保存,它将更改为32000,依此类推. 这是我的本地化de_numbers.yml供参考: ---de: number: currency 我在Rails 3.1.3和 Ruby 1.9.3之上安装了在线购物框架Spree.我还使用Spree_i18n gem来本地化商店.现在,每当我保存产品时,价格都会乘以100.

例如,在管理区域中,我键入3.20的价格.这导致值320.如果我再次保存,它将更改为32000,依此类推.

这是我的本地化de_numbers.yml供参考:

---de:  number:    currency:      format:        format: "%u%n"        unit: "€"        precision: 2        separator: '.'        delimiter: ','

在我的设置中我无法想到任何异常,所以我想知道为什么这不是一个常见的问题.任何帮助将不胜感激.

解决方法 编辑:

spree-core:产品表单不处理与I18n /本地化相关的显示product.price和product.cost_price.要解决此问题,您需要修改核心.我将向Spree核心团队发布这个问题,但在此期间,我已经测试了这个修复程序,它应该可行.

在/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,: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,:delimiter => I18n.t('number.currency.format.delimiter')) %>

从本质上讲,我们正在使它处理I18n潜在价值.

原版的:

我已经完全复制了您的文件,并尝试了一些测试来重新创建(创建新产品,新产品变体,更改产品价格,成本价格等).要重新创建它,您需要创建一个de_numbers.yml,并使用“config.default_locale =’de’”将您的本地化翻转为Spree初始化程序中的“de”

以下是一些建议的修复:

>确保运行bundle install
>在你的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”文件之前查看它们是否有效.

总结

以上是内存溢出为你收集整理的ruby-on-rails – 在Spree(RoR)中保存产品时价格乘以100全部内容,希望文章能够帮你解决ruby-on-rails – 在Spree(RoR)中保存产品时价格乘以100所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1286696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存