將鏈接指向產品鏈接,但將類別添加爲url參數。
然後在您的控制器中,如果該參數存在,則基於該參數篩選結果。如:
查看:
<h2> Find Product by Category </h2>
<%= link_to "Electronics", products_path(:category=>"electronics")
控制器
def index
if params[:category]
@products = Product.where(:category => params[:category])
else
@products = Product.all
end
end
基於由egyamado評論:
如果你想添加的提示信息,將是這樣的:
def index
if params[:category]
@products = Product.where(:category => params[:category])
flash[:notice] = "There are <b>#{@products.count}</b> in this category".html_safe
else
@products = Product.all
end
end
如果你只是想顯示的消息,如果沒有產品,然後只需添加if @products.empty?
到閃存指定的結束
或者你可以把它完全有條件的,如果你想,如果沒有產品來顯示錯誤信息並通知是否有產品
def index
if params[:category]
@products = Product.where(:category => params[:category])
if @products.empty?
flash[:error] = "There are <b>#{@products.count}</b> in this category".html_safe
else
flash[:notice] = "There are <b>${@products.count}</b> in this category".html_safe
end
else
@products = Product.all
end
end
來源
2013-11-04 02:38:16
trh
正是我想要的。萬分感謝。 –
Dude ...我一直在尋找這個確切的答案,看起來像兩個月。確切的問題,完美的答案。非常感謝。 現在似乎很簡單,我正在看它。 – etusm
感謝@trh,投票。在您的解決方案中,當選擇一個類別時,所有相關產品都將顯示出來。當沒有選擇類別時,顯示所有產品。但是,如何選擇一個沒有產品的產品類別,讓我們假設它顯示所有帶有閃光信息的產品可以說:「沒有產品可用於電子產品!」? 謝謝! – egyamado