【发布时间】:2012-08-09 22:29:53
【问题描述】:
我正在尝试创建一个可以检索信息的表单。到目前为止,我已经实现了一个模型和一个带有动作查询的控制器。
这是表格:
<%= form_tag "/search", :method => "get" do %>
<%= text_field_tag :query, params[:query] %>
<%= submit_tag "Search", :name => nil %>
<% end %>
我的控制器有:
定义查询 @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%')
为什么我的代码会产生这个错误?
【问题讨论】:
-
您的客户模型中真的有一个名为“第一”的列吗?你能显示 db/schema.rb 文件吗?
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1