我想避免一些寶石,所以我想出了這個解決方案在多個模型之間進行搜索。rails 3在多個模型之間搜索
但它似乎只適用於列出的第一個型號。
SearchController:
def index
@products = Product.search(params[:search]).paginate(:per_page => 5, :page => params[:page])
@manufacturer_name = Manufacturer.search(params[:search]).paginate(:per_page => 5, :page => params[:page])
@category_name = Category.search(params[:search]).paginate(:per_page => 5, :page => params[:page])
end
在我的3個型號我有這樣的:
def self.search(search)
if search
where('name LIKE ? ', "%#{search}%")
else
scoped
end
搜索#指數
<%if @products.present?%>
<%= render partial: "products/found" %>
<%end%>
<%if @manufacturer_name.present?%>
<%= render partial: "products/foundmanufacturers" %>
<%end%>
<%if @category_name.present?%>
<%= render partial: "products/foundmanufacturers" %>
<%end%>
我爲每個模型準備分隔部分。
但是,當我搜索名稱definetely應該在所有類別。但沒有找到結果,只有當我運行搜索產品名稱。然後我得到我想要的結果。
任何提示將是偉大的。 TNX
搜索產品或類別名稱中有名稱的產品,然後返回產品? – Amar
@Amar我在三種模型中啓用了此搜索。產品,類別,製造商。所有這些都有字段名稱。在一個搜索表單中搜索所有這些開始。檢查此:http://darbs.ecotechno.lv/鍵入「pez」它將返回產品名稱,然後「CMI」應返回製造商名稱,但沒有。 – Edgars