我在rails 3.1中。我有以下型號我該如何在rails中處理這種類型的多級表單
class Tool < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :tool
has_many :relationships
has_many :advantages, :through => :relationships, :source => :resource, :source_type => 'Advantage'
has_many :disadvantages, :through => :relationships, :source => :resource, :source_type => 'Disadvantage'
end
class Relationship < ActiveRecord::Base
belongs_to :comment
belongs_to :resource, :polymorphic => true
end
class Disadvantage < ActiveRecord::Base
has_many :relationships, :as => :resource
has_many :comments, :through => :relationships
end
class Advantage < ActiveRecord::Base
has_many :relationships, :as => :resource
has_many :comments, :through => :relationships
end
總之,A Tool
有許多comments
。 A Comment
inturn與Advantages
和Disadvantages
相關聯。因此,在我的tool/show
頁面中,我將列出所有評論。
但是,如果我必須添加註釋到工具頁面,將會有一個表單,其中有一個textarea的評論和兩個multi select list boxes
的優點和缺點。
這裏有一個問題,如果用戶想從現有的adv/disadvantagev中選擇,用戶可以從列表框中選擇,或者如果用戶想要添加一個新的副/他可以鍵入並添加它,以便通過ajax調用保存並將新的副/副列表添加到列表框中。我該如何做到這一點?
我要提及nested_form是寶石 – maxenglander
好點!謝謝! – Tilo