更新:考慮到這一點後,我認爲這個問題包括多態性和STI。Rails多態/單表繼承模型,選擇類型的形式
比方說,我有以下幾點:
class Vehicle < ActiveRecord::Base
belongs_to :dealership
...
end
class Car < Vehicle
...
end
class Truck < Vehicle
...
end
汽車和卡車模型在模型相同的屬性,但不同的邏輯,所以他們都只是使用車輛表。
我想製作一個通用表格,允許有人創建一個新的車輛記錄,並選擇它是「汽車」還是「卡車」。在後端,此表單應該創建「汽車」或「卡車」記錄,而不是通用的「車輛」記錄。
問題: 如何在Rails表單中顯示此選項?具體來說,是否有方法列出抽象基本模型的子類型,和/或是否有一種簡單方法將這些類型顯示爲(例如)表單中的Select元素?
我希望創造一種能夠使汽車或卡車反對只有兩種不同形式的汽車和卡車的形式,最終我還希望這些模型嵌套在父母身上,「經銷商「。我希望能夠不僅創建新車輛並選擇「汽車」或「卡車」作爲選項,而且還可以嵌套表格,用戶可以加載「經銷商」並查看/編輯所有汽車以及以單一形式屬於該經銷商的卡車。我知道如何使用accepts_nested_attributes_for
對Vehicle belongs_to :dealership
這樣的簡單關聯進行設置,但我不確定如何爲從Vehicle繼承的子模型進行設置。
你知道嗎,我其實在看多態和STI,當我最初寫這個問題的時候,我把他們混淆在我腦海中。感謝您的反饋! – Andrew 2012-07-22 20:36:09
是的,我明白你的意思了。我想我找到了一個有用的鏈接:http://stackoverflow.com/questions/5047613/rails-model-inheritance-in-forms – gabrielhilal 2012-07-22 20:55:42