在rails中搜索站点

时间:2012-08-09 14:15:26

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

我正在尝试创建一个可以检索信息的表单。到目前为止,我已经实现了一个模型和一个带有动作查询的控制器。

以下是表格:

<%= form_tag "/search", :method => "get" do %>
  <%= text_field_tag :query, params[:query] %>
  <%= submit_tag "Search", :name => nil %>
<% end %>

我的控制器有:

def查询      @results = Search.search(params [:query])    端

在我的模特中,我有:

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

但它给了我以下错误:

ActiveRecord::StatementInvalid in SearchesController#query

SQLite3::SQLException: no such column: first: SELECT "customers".* FROM "customers"  WHERE (first LIKE '%test%')

为什么我的代码会产生此错误?

2 个答案:

答案 0 :(得分:0)

这可能是因为您在DB上的customers表中没有第一列。

您的意思是first_name吗?

答案 1 :(得分:0)

试试这个

Customer.find(:all, :conditions => ["'first' LIKE ?", "%#{search}%"])