簡體   English   中英

ActiveRecord聚合和form_for

[英]ActiveRecord aggregations and form_for

我正在考慮對某些字段使用ActiveRecord聚合器。

令我困擾的是聚合屬性在form_for和input字段中的表現如何。 也就是說,如何生成聚合屬性的輸入字段(因為它們是只讀的)?

像這樣,以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並生成用於平衡的輸入字段? 另外,余額驗證在哪里? 大規模歸案有效嗎?

批量分配可以正常工作(通過普通的屬性編寫器方法),但是顯然,它不是通過聚合器類的initialize方法運行的。

驗證通常也可以在Customer類上設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM