3

我有發票的形式。這是一個簡化版本:因此它包含訂單項,您可以在其中選擇產品名稱的下拉菜單。的Rails 3 HABTM形式選擇下拉菜單

這是行之有效的:所以invoice-line_item關係是這樣的:發票has_many line_items和line_item屬於發票。 line_item屬於項目和項目has_many line_items。我有正確的項目,line_items和發票設置。

但現在我想稅添加到行項目。

所以我創建了一個line_items_taxes表中創建line_items和稅收之間的關係HABTM。但我無法在表單中正確設置它。我的形式看起來像這樣...

|name|price|tax| 
| v|  | v| 
| v|  | v| 
| v|  | v| 
[save invoice] 

所以我需要一個稅下拉選擇菜單,並在發票保存,這樣可以節省每個行項目的稅款。

我曾試過把http://snippets.dzone.com/posts/show/4369Rails HABTM Question所提供的解決方案,但我得到的錯誤。名稱:用於

未定義的方法合併符號 <%= f.collection_select "line_item", "tax_ids", @taxes, :id, :name, {:name => 'line_item[tax_ids][]'} %>

回答

7

您的來電collection_select包含一個扔東西了一個額外的參數。 (因爲我假設你正在使用*的form_for *中,「LINE_ITEM」參數自動包括在內,你是多餘的。)

應該不是這個樣子:

f.collection_select 'tax_ids', @taxes, :id, :name, {:name => 'line_item[tax_ids][]'} 

這是在一開始無論如何,正確的方向。