2011-08-06 60 views
0

我一直在跟蹤SO網站作爲我的軌道前進跨模型編輯已經開發,這是一個很好的信息來源。 我正在編寫一個應用程序來維護一堆主機及其相關的保修。 合同 主持人可以有許多合同,合同可以適用於許多主機。 所以我有三類:HostWarrantyContractHostWarranty。 該HostWarranty模型到主機和WarrantyContract以及一個註釋字段FK引用。Ruby on Rails的通過多對多關係

我需要做的是通過主機和warranty_contract頁面管理host_warranties表(assetid,warranty_contract,comments)的內容,以便在編輯主機的詳細信息時,我可以應用一個或多個合同;當我編輯合同時,我可以指出它適用的主機。

我一直在使用has_manyaccepts_nested_attributes_forhas_and_belongs_to_manyMany-to-many relationship with the same model in rails?是迄今爲止的主要來源)探討,但我有我如何發展的觀點_form模板掙扎;我見過的大多數例子都使用了fields_for方法,而我需要的是名稱和ID的<select>列表。

我特別建議solutionsm但什麼樣的API方面的我應該看或谷歌搜索以獲取更多的想法了。

+0

任何機會,你可以提煉出文本到一個具體問題?我想我明白你在問什麼,但不清楚。 –

回答

2

我想你是問如何從多現有記錄選擇? 如果是這種情況,那麼你有很多選擇。 1)你可以提出項目(合同?)與複選框的列表,以便用戶可以勾選自己想要

2項),你可以提出一個下拉多選擇框從

選擇多個項目3)你可以展示用戶類型分爲和他們類型的列表呈現在搜索輸入字段輸入匹配criterea

所有這些選項都包括在內Railscasts網站上的一個形狀或其他

http://railscasts.com/episodes/258-token-fields那 http:// rails casts.com/episodes/102-auto-complete-association http://railscasts.com/episodes/17-habtm-checkboxes

應該有足夠讓你開始

+0

這是一個數據收集練習。我一直在嘗試所有記錄的方法來實現這個工作,並且應用程序現在已經被破壞了,我對Ruby的幻想破滅了,所以我必須得出結論,HABTM實際上並沒有工作,並且我能夠更快地完成每項資產所有250臺主機的保修詳細信息,一次試圖使其在導軌上工作。 – RubyNewby

+0

鐵路廣播相當整潔地描述了我需要的部分內容,我可能會在將來的某個時候重新審視這個問題,但我也需要從主機和合同中執行操作。 現在,太多人需要這些數據,而且由於他們靠電子表格來生活,所以我說服他們使用適當的數據驅動方法失敗了。 – RubyNewby

+0

這非常接近實際的工作,如果我沒有主要關鍵字段稱爲'ID',而不是Rails規範,那麼(我確實有一個非常愚蠢的列名稱),它可能會成功。 但是,我有一個磚牆錯誤('未定義的方法'klass'爲零:NilClass'),我不太可能恢復。 我真的很感激這個建議,這似乎是解決這類問題的最好方法。 謝謝。 – RubyNewby

0

從jamesw的建議是太棒了。完善。現在我知道這是做這件事的方法,現在我可以睡一覺了。我應該可以將這種技術應用於我需要管理的其他表格。 railscast絕對是現貨。 非常感謝Thabk。

+0

你選擇了3個演員中的哪一個?任何接受答案的機會:)? – jamesc