【问题标题】:ActiveRecord aggregations and form_forActiveRecord 聚合和 form_for
【发布时间】:2011-01-29 16:27:19
【问题描述】:

我正在考虑为某些字段使用 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 并生成余额输入字段?另外,余额验证属于哪里?批量分配有效吗?

【问题讨论】:

    标签: ruby-on-rails activerecord aggregation form-for


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-04
      • 2010-10-24
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多