如何基于RailsCasts教程在rails中进行简单搜索?

我按照RailsCasts教程使用自动完成进行简单搜索,但它不起作用。 🙁

视图/销售商/索引:

 'get' do %>  :get, :class => 'textbox'} %>  nil %>  

我将@searchterm和@ searchvendor.id作为validation步骤。

所以这应该调用controller => vendor,action => index:

 def index @searchterm = params[:vendor][:name] @searchvendor = Vendor.search('checkpoint') 

并且为供应商/模型创建如下搜索方法:

  def self.search(search) if search find(:all, :conditions => ['name LIKE ?', "%#{search}%"]) else find(:all) end 

输出?

@searchterm会显示输入的值,因为它显示在URL中作为vendor [name] =?

@ searchvendor.id是一个长字符串,@ searchvendor.name显示错误,name不是方法。

我很难过。 请帮忙?

链接到教程:

http://railscasts.com/episodes/37-simple-search-form

  1. 你不应该将@searchterm传递给Vendor.search方法吗? 每次通过’检查站’可能不会成功。

  2. @searchvendor将在您查找(:all)时包含一个数组。 您需要迭代数组并对每个项执行.name。