2016-11-14 79 views
0

我有一個has_and_belongs_to_many產品和供應商之間的關聯。Rails條件has_and_belongs_to_many協會

連接表是products_suppliers

我試圖在窗體中創建依賴選擇,以便當我選擇供應商時,在產品下拉列表中只顯示相應的產品。

我遇到了哪裏的問題。

如果我是在一個情況下產品belongs_to的供應商,我會做:

@products = Product.where("supplier_id = ?", params[:supplier_id]) 

如何實現一個has_and_belongs_to_many協會一樣嗎?

回答

0

因爲您有has_and_belongs_to_many關聯,您可以撥打.products關於Supplier實例。

這應該做的伎倆

@products = Supplier.find(params[:supplier_id]).products 
+0

我得到'無法與「ID」找到供應商='而我之前,所以得到一個不同的錯誤我猜你的解決方案解決了這個問題。我發現錯誤與代碼中的其他內容有關,在接受答案之前我會更好地考慮它。 – Catmal

+0

@Catmal聽起來像'params [:supplier_id]'返回'nil'。 – omnikron

+0

嗯下面的答案工程.. – Catmal

-1

使用此代碼:

supplier = Supplier.find_by(supplier_id: params[:supplier_id]) 
@products =supplier.products if supplier.present?