Ruby on rails 用money-rails自动解析价格
我已经实现了money rails gem,以支持Ruby on rails 用money-rails自动解析价格,ruby-on-rails,ruby,money-rails,Ruby On Rails,Ruby,Money Rails,我已经实现了money rails gem,以支持项目模型上的价格 现在,在items\u controller.rb中创建新的items之前,我用price解析一个字符串,如下所示: @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
项目
模型上的价格
现在,在items\u controller.rb
中创建新的items
之前,我用price解析一个字符串
,如下所示:
@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
但是,我想知道是否有一种更“正确”的方法可以在将字符串保存到模型之前自动解析它。在保存之前,我尝试了一个过滤器,但无法使其工作
价格存储在Item
模型中的两列中,price\u cents
和price\u currency
您可以覆盖Item
模型中的属性编写器,甚至可以定义执行所有相关逻辑的新实例方法(作为虚拟属性)。例如:
models/item.rb
...
def price=(price)
money = price.to_money
self.price_cents = money.fractional
self.price_currency = money.currency.iso_code
end