2011-06-04 137 views
1

在我的應用程序中,公司的管理員定義了一組要與位置關聯的屬性(例如,市場規模和地理位置)。他們還定義哪些值對於給定屬性是可接受的(每個位置的每個屬性只有一個值)。由於沒有固定數量的屬性,因此我將HMT用於此關聯。實際上,location.attributes包含與位置相關的屬性。我想在位置視圖中允許用戶選擇每個屬性的值。我希望這些值能夠更新HMT關聯。我只能找到用這些屬性創建散列的蠻力方法,用選擇填充選擇標記,然後手動處理返回到更新的散列,將用戶所做的選擇分配給HABTM集合(location.attributes = PARAMS [位置] [屬性])。這似乎是一種常見的事情,ROR應該有一個更內在的方法來做到這一點。我錯過了明顯的東西嗎?用戶更新has_many:通過關聯

+3

umm不知道這是否有幫助,但試試看ryan bates'railscasts',也許情節http://railscasts.com/episodes/196-nested-model-form-part-1和http:// railscasts.com/episodes/196-nested-model-form-part-2可能會給你一個提示 – Ingo 2011-06-04 23:25:50

+0

關於屬性和可接受的值的設置仍然沒有得到一切。對於給定的位置,a)管理員是否選擇包括市場規模,但可能不是地理位置;和b)然後根據市場規模選擇市場規模,或者選擇可以根據市場規模選擇的幾個價值? – Yardboy 2011-06-06 22:49:15

+0

我以正確的方式(我認爲)在實際關聯值上使用_accepts_nested_attributes_和_fields_for_解決了此問題,而不是從關聯創建值的散列。當然,我正在重新發明輪子(我慣常的ROR罪) – 2011-06-07 00:42:10

回答

0

@Ingo有正確的答案,指向我的嵌套表格railcasts。謝謝!