我是RoR的新手。根据书(ruby on rails 4th edition),我完成了它。但我正在尝试为客户提供一个搜索选项,以便更轻松地找到产品。我正在尝试使用此示例http://railscasts.com/episodes/37-simple-search-form
我已添加了视图>存储>索引此:
<%= form_tag products_path, :method => 'get' do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
在模型&gt;产品中我已经说出了这个:
def self.search(search)
if search
find(:all, :conditions => ['title LIKE ?', "%#{search}%"])
else
find(:all)
end
end
并在控制器&gt; store_controller中:
@products = Product.search(params[:search])
问题是当我在搜索时向我显示我拥有的所有产品,而不仅仅是我搜索的内容和网址正在改变..... /?utf8 =%E2%9C%93&amp; search = iphone + 4
什么想法PLZ?答案 0 :(得分:4)
<% form_tag ...
必须是:
<%= form_tag ...
^
答案 1 :(得分:2)
在store_controller中我在def索引这行:@products = Product.all并导致问题。没有store_controller:
class StoreController < ApplicationController
skip_before_filter :authorize
@products = Product.all
def index
@products = Product.search(params[:search])
@cart = current_cart
end
end
和工作一样疯狂!