0

我正在考虑为某些字段使用 ActiveRecord 聚合器。

困扰我的事情是聚合属性与 form_for 和输入字段一起工作的效果如何。也就是说,如何为聚合属性生成输入字段(因为它们是只读的)?

就像,让我们以http://api.rubyonrails.org/classes/ActiveRecord/Aggregations/ClassMethods.html为例。

class Customer < ActiveRecord::Base
    composed_of :balance, :class_name => "Money", :mapping => %w(balance amount)
    composed_of :address, :mapping => [ %w(address_street street), %w(address_city city) ]
  end

class Money
   attr_reader :amount, :currency

   def initialize(amount, currency = "USD")
     @amount, @currency = amount, currency
   end
 end

现在,假设我们有一个表格,允许客户输入他自己的余额。您如何制作该 form_for 并生成余额输入字段?另外,余额验证属于哪里?批量分配有用吗?

4

1 回答 1

1

批量分配工作(通过正常的属性编写器方法),但显然它没有通过聚合器类的初始化方法运行。

通常也可以在 Customer 类上设置验证。

于 2011-01-29T19:18:25.567 回答