【发布时间】:2014-05-28 05:47:00
【问题描述】:
我有两个控制器类别和产品,关系是application.html.erb 目录下拉菜单中的类别 has_many 产品和搜索产品的form_tag。我的要求是当我通过下拉菜单选择任何类别名称并搜索任何产品时,应该显示该类别产品。如果我在查找任何产品时不选择任何类别,它应该显示与所有类别相关的产品。
application.html.erb
<select>
<option value>Catagory by Name</option>
<option value="Samsung">Samsung</option>
<option value="Nokia">Nokia</option>
<option value="Apple">Apple</option>
<option value="HTC">HTC</option>
<option value="Sony">Sony</option>
<option value="Blackbarry">Blackbarry</option>
</select>
<tr><%= form_tag products_path, :method => 'get' do %>
<p>
<%= text_field_tag :search,params[:search],placeholder: "Search Products"%>
<%= submit_tag "search",:name => nil %>
</p>
<% end %></tr>
product_controller.rb
def index
@products = Product.all
if params[:search]
@products = Product.search(params[:search])
else
@products = Product.all
end
end
product.rb
def self.search(search)
where("name like ?", "%#{search}%")
end
所以请告诉我如何解决它。
【问题讨论】:
标签: ruby-on-rails