2013-03-30 61 views
0

我正在構建測試用例管理系統的應用程序。我有測試箱和testruns。我通過名爲testresults的關聯模型加入這兩個表。Rails - has_many:通過並將現有記錄從一個模型添加到另一個模型

class Testcase < ActiveRecord::Base 
    has_many :testresults 
    has_many :testruns, :through => :testresults 

class Testrun < ActiveRecord::Base 
    has_many :testresults 
    has_many :testcases, :through => :testresults 

class Testresult < ActiveRecord::Base 
    belongs_to :testrun 
    belongs_to :testcase 

有一組固定的測試用例已經存在。每次我創建一個新的testrun,我想選擇一些現有的測試用例並添加到新的testrun中。

我不確定以下事情。如果您可以請給我一些關於我應該採取什麼方法以及應該使用哪些方法/功能/助手的指示,我將不勝感激。我通過不同的帖子浪費了一天多的時間,但無法清楚地看到事情。

  1. 查看 - 如何使用前面的複選框填充現有的測試用例。我是否使用options_from_collection_for_select?但我如何獲得複選框
  2. 我是否使用testrun模型或關聯模型,即testresult。我對在哪裏顯示添加的測試用例感到困惑 - 在testrun頁面或testresult頁面上。
  3. 我們是否創建視圖,併爲關聯模型使用控制器?

回答

0

您可以: 1.您可以使用複選框(帶有check_box_tag)或選擇多個選項。 2.您可以通過複選框在不同的散列形式 3.獲取複選框通過數據的數據,循環和創建的TestResult

,最好的辦法是使用has_and_belongs_to_many協會,檢查該視頻RailsCasts http://railscasts.com/episodes/17-habtm-checkboxes這是一個有點老,但它的工作原理,如果你想有一個較新的視頻看看這個http://railscasts.com/episodes/17-habtm-checkboxes-revised

您也應該檢查http://guides.rubyonrails.org/association_basics.html#the-has_and_belongs_to_many-association

+1

感謝巴勃羅。我通過參考這篇文章得到了這個工作 - http://millarian.com/programming/ruby-on-rails/quick-tip-has_many-through-checkboxes/。此外,我想過使用HABTM,但我在關聯表中有額外的屬性(例如特定運行中特定測試的狀態字段)。謝謝 – LTCRails

相關問題