invoice多くの新しい を作成するためのフォームがありitemsます。
class Invoice < ActiveRecord::Base
attr_accessible :project_id, :number, :date, :recipient, :items_attributes
accepts_nested_attributes_for :items
end
newinvoiceと含むのセットをインスタンス化するとき、それらが保存される前であっても、それらが属するについて何かを知っitemsてもらいたいので、モデルで次のようなことを行うことができます:itemsinvoiceItem
class Item < ActiveRecord::Base
belongs_to :invoice
after_initialize :set_hourly_rate
private
def set_hourly_rate
if new_record?
self.price ||= invoice.project.hourly_rate
end
end
end
現在、インスタンス化中に子 ( item) が親 ( ) について何も知らないため、私のコードは失敗します。(したがって、ネストされた)をinvoice保存した後でのみ、すべてがうまくいきます。しかし、保存する前であっても、新しいアイテムごとにデフォルト値を設定したいと考えています。invoiceitems
これはどのように行うことができますか?
助けてくれてありがとう。