问题标签 [money-rails]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2347 浏览

ruby-on-rails - 使用money-rails:如何手动设置属性的货币

我目前正在使用:

  • 钱轨v0.12.0
  • 导轨v4.1.6
  • 红宝石v2.1.3

用例

我正在更新一个名为 的货币类型属性dollars_per_month,它是我使用money-rails迁移助手(即add_money)创建的。

所以,在我的模型中,我有:

我当前的架构有:

货币在 config/initializers 中全局设置:

问题

我希望用户能够在文本字段中输入“500 美元”或“500”或“500 加元”,并正确保存。目前,当指定非全局货币时,它会抛出异常:

这是有道理的——我可以理解为什么这是自然执行的。

但是.. 我想强行更改货币而不关心此类强制执行,因为该字段仅用于获取问题的答案。

简单的解决方案(尽管未来缺乏便利)是将其转换为纯文本。但是,我想知道是否可以在不触及应用程序其余部分的情况下使用 RubyMoney 和/或 Money-rails 来做到这一点。

笔记

  • 我已经尝试更改dollars_per_month_currency和保存模型,但是,dollars_per_month仍然返回基于 CAD 的 Money 对象。

  • 我在 money-rails自述文件中查看了实例货币。虽然我相信我可以完成这项工作,但我觉得这太过分了,因为它需要额外的货币字段......当我只想改变时dollars_per_month_currency

感谢任何人必须分享的任何见解或经验!

0 投票
1 回答
338 浏览

ruby-on-rails - Money-rails 字段被 Rails 4 + Mongoid 中的强参数过滤掉了

我正在使用 Rails 4+ MongoDB (mongoId) + money-rails gem 并拥有以下 2 个模型:

在控制器上,许可参数功能如下:

现在,amount 字段是 Money 类型,但在此之前它是一个 float 字段。使用 float,create 方法没有问题,但现在 :amount 字段的类型为 Money,我在日志文件中显示消息Unpermitted parameter: amount。当我想创建一个新的 OtherModel 对象时会发生这种情况:

我尝试了几种定义 my_model_params 方法的方法,以便它接受金额字段,包括我在 StackOverflow 找到的所有与此相关的选项,但我一直收到相同的错误。我发现完成这项工作的唯一方法是使用许可!

之所以有效,是因为它允许所有字段,但显然不是批量分配保护的好选择。

在 params 的哈希值上,由于 money-rails gem,amount 字段如下所示:

有没有人发现类似的问题或知道如何声明金额字段?

谢谢!马可

0 投票
1 回答
226 浏览

ruby-on-rails - 2 个额外的零钱场栏杆

我在我的 Rails 应用程序中使用money-railsgem。我有模型Transaction

以及添加新交易的表格。

在我的控制器动作中:

在我的钱初始化器中:

当我尝试添加新交易时:

在我的控制器动作中:

所以。在我的参数中:金额是 123,但在我的新交易中:金额是 12300,所以我的金额字段中有 2 个额外的零。

而且我真的不知道如何解决它。也许有人以前遇到过这样的问题?

0 投票
1 回答
127 浏览

mongodb - Money gem 可以与 Mongoid 一起使用吗?

它适合“模式”或文档模型文件,就像

type: Money

但是,每当我需要钱时,我都会得到一串浮点数作为回报。我知道它在内部处理 MongoDB,但我发现我的应用程序到处都是字符串转换,BigInt.new("1.23") - BigInt.new("1.33")当然这不是意图。

我应该放弃金钱并在架构中使用 BigInt 吗?Mongoid 会支持它还是再次将其保存为字符串?我被告知不要使用Float,所以我正在尽力而为,但我的工具不配合。

0 投票
0 回答
912 浏览

ruby-on-rails - money-rails 货币化:price_cents 不返回货币对象的价格

我有一个名为 Record 的活动唱片模型(代表物理黑胶唱片),我正在尝试使用使用ruby​​money/ monetize的money/rails

我按照money/rails 中的说明操作,它告诉我使用模型类方法“monetize:attribute_name_cents”,然后使用attribute_name 对其进行处理,但是当我运行我的应用程序时,marketplace_price 为零。我不知道我在这里做错了什么。我确定 gem 已加载并正在使用。我确定它会自动提供一个 sans _cents 方法,但它是 nil 而不是预期的 Money 对象。我错过了什么?

0 投票
1 回答
60 浏览

ruby-on-rails - Rails-money gem 向外部服务提交美元价值

我在我的 rails 4 应用程序中使用 money-rails gem 来节省几个模型的金钱价值。我注意到的一件事是存储在数据库中的值是美元值 * 100(美分值)。我将此字段(金额)推送到外部服务,它要求格式为 00.00(美元.美分)。

推送到外部服务如下所示:

在我推送到外部服务之前,解决这个问题的最佳方法是乘以 object.amount * 100 吗?有没有我可以在模型中使用的辅助方法来确保我以正确的格式推送数据?

0 投票
1 回答
121 浏览

ruby - 金钱宝石中的初始化方法

我正在阅读money gem 源代码,但我似乎无法理解构造函数:

我们为什么要测试是否obj"fractional"方法?什么时候返回真,什么时候返回假?下一行的货币问题相同。

谢谢

0 投票
1 回答
773 浏览

ruby-on-rails - Money-Rails Gem 和实例货币

我正在尝试在我的 rails 4 应用程序中使用 money-rails gem。

我有一个参与者模型,其中包含每种货币和参与成本的属性。我的目标是让用户为每个实例指定一种货币,以及参与成本的金额。

在我的参与者模型中,我有:

货币化:participation_cost,with_model_currency: :amount_currency

在我的表格中,我要求用户选择一种货币并指定如下金额:

在我看来,我想显示货币和金额。我目前有一个字符串如下:

当我对此进行测试时,我只得到了参与成本的数字。我不明白货币。

在我的 money.rb 初始化程序中,我有:

任何人都可以帮忙吗?我不知道如何使用这个宝石。我已经按照用户指南进行操作,但它只能设置模型,例如基于实例的货币选择。有没有人成功地将它用于此目的?

谢谢

0 投票
2 回答
843 浏览

ruby-on-rails - 将大美元价值输入到 rails 货币对象中

我已经构建了一个运行 rails 4.1 和 ruby​​ 1.9.3 的应用程序,它使用了money-rails gem。当我在表单字段中输入较大的美元值并将它们保存到我的 PG 数据库时,我遇到了一个问题。错误如下:

PG 文档显示整数的最大值为 +2147483647。我希望能够使用 money-rails gem,但能够输入更大的数字。

就解决方案而言,我知道 PG 中的列类型应该是 bigint,但是我不知道如何使money-rails 支持将数字存储为 bigint 而不是整数。

0 投票
2 回答
193 浏览

ruby-on-rails - Rails money - 创建没有货币默认值的数据库列

我可以使用 t.money 迁移助手创建没有默认货币的列吗?

创建:

但想: