[英]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.