首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用money-rails将字段货币化时的未知属性

使用money-rails将字段货币化时的未知属性
EN

Stack Overflow用户
提问于 2015-07-16 06:27:51
回答 1查看 238关注 0票数 2

我有以下类,我想使用money-rails gem monetize它的几个字段。

代码语言:javascript
复制
class LineItem < ActiveRecord::Base
  monetize :unit_price_cents
  monetize :total_cents
end

该模式如下所示:

代码语言:javascript
复制
create_table "line_items", force: :cascade do |t|                                                             
   t.integer  "invoice_id"                                                                                     
   t.float    "quantity"                                                                                       
   t.string   "unit_type"                                                                                      
   t.string   "description"                                                                                    
   t.datetime "created_at",       null: false                                                                  
   t.datetime "updated_at",       null: false
   t.integer  "unit_price_cents", null: false                                                                                                                               
   t.integer  "total_cents",      null: false                                                                  
end 

由于某种原因,除非我在货币化字段中添加别名,否则我会得到undefined method 'unit_price' for #<LineItem:0x007ffb7881eb80>

代码语言:javascript
复制
monetize :unit_price_cents, as: :unit_price
EN

回答 1

Stack Overflow用户

发布于 2021-01-20 21:54:25

根据Money Rails gem documentation,在这种情况下:as是不必要的。只有当您使用其他数据库列名,或者您希望使用其他名称作为money属性时,才应使用它。

在您的例子中,因为您的db列名已经采用了gem期望的格式。你只需要做

代码语言:javascript
复制
monetize :unit_price_cents

然后在LineItem实例上调用unit_price以获取货币化对象

代码语言:javascript
复制
@lineitem = LineItem.first
@lineitem.unit_price
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31442315

复制
相关文章

相似问题

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