我有这样的模特......
Receipt
-------
amount:int # => An amount of money stored as cents.
但在视图中我有这些领域......
amount_dollars
amount_cents
所以群发作业不会在那里发挥作用。
处理这种情况的标准方法是什么?你把把传入值转换成代码的代码放在哪里?
答案 0 :(得分:3)
答案 1 :(得分:1)
为amount_dollars和amount_cents添加attr_accessors。使用before_save回调来更新金额。
答案 2 :(得分:0)
您可以为视图中的每个字段定义所谓的虚拟属性。
def amount_dollars=(value)
...
end
def amount_cents=(value)
...
end
这些处理来自提交表单的值。在每种方法中,您都可以适当地修改模型的金额属性。