首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用money-rails自动解析价格

使用money-rails自动解析价格
EN

Stack Overflow用户
提问于 2014-05-15 19:09:11
回答 1查看 382关注 0票数 2

我已经实现了money-rails gem来支持Item模型上的价格。

现在,在items_controller.rb中创建新的string之前,我先解析一个包含价格的Item,如下所示:

代码语言:javascript
复制
@item = Item.find_or_create_by_link!(params[:item][:link]) do |c|
    c.assign_attributes(params[:item])
    c.price = params[:item][:price].to_money unless params[:item][:price].nil?
end

然而,我想知道是否有一种更“正确”的方法来在将字符串保存到模型之前自动解析它。我正在尝试一个before_save过滤器,但无法让它工作。

Item模型中,价格存储在两列中:price_centsprice_currency

EN

回答 1

Stack Overflow用户

发布于 2014-05-15 20:33:29

您可以覆盖Item模型中的属性编写器,甚至可以定义一个执行所有相关逻辑的新实例方法(作为虚拟属性)。例如:

models/item.rb

代码语言:javascript
复制
...
def price=(price)
  money = price.to_money
  self.price_cents = money.fractional
  self.price_currency = money.currency.iso_code
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23676514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档