我如何可以自動創建多個關聯的對象就在我保存新的主要對象?軌道4創建相關的對象上保存
例如
在Rails 4,我有三個對象:企業,預算,並分類。
#app/models/business.rb
class Business < ActiveRecord::Base
#attrs id, name
has_many :budgets
end
#app/models/budget.rb
class Budget < ActiveRecord::Base
#attrs id, business_id, department_id, value
belongs_to :business
belongs_to :category
end
#app/models/category.rb
class Category < ActiveRecord::Base
#attrs id, name
has_many :budgets
end
當我創建一個新的業務,節省了新的業務之後,我想以原子爲每個類別一份財政預算案,並給它的$ 0的值。通過這種方式,當我展示或編輯新業務時,它將已經擁有關聯的類別和預算,然後可以對其進行編輯。因此,在創建新的業務,多個新的預算將被創建,每一個類別,每一個都具有0
值我讀這篇文章:Rails 3, how add a associated record after creating a primary record (Books, Auto Add BookCharacter)
而且我想知道如果我應該使用在商業模式after_create回調,並已邏輯然後在預算控制存在(不完全知道如何做到這一點),或者我是否應該在「新」添加邏輯到businesses_controller.rb類似的東西叫:
@business = Business.new
@categories = Category.all
@categories.each do |category|
category.budget.build(:value => "0", :business_id => @business.id)
end
看起來這裏有無關的信息,使得這個問題很難回答。除了部門預算外,企業是否真的有預算?同樣,對於部門有很多業務,反之亦然,需要有一個似乎缺失的連接表。 –
謝謝。一個企業擁有多少預算。部門更像是預算類別,所以我想他們不需要與商業關聯。因此,預算是連接表。我已經更新了這個問題。如果您對實體名稱有更好的建議,請提出建議。 – Ryan
我更新了問題以刪除部門和企業之間的關聯,並將部門更名爲類別。希望這會更有意義。 – Ryan