2012-08-09 98 views
0

我正在嘗試創建一個可以檢索信息的表單。到目前爲止,我已經通過動作查詢實現了一個模型和一個控制器。在導軌中搜索網站

這裏的形式:

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

我的控制器有:

高清查詢 @Results = Search.search(PARAMS [:查詢]) 結束

而且在我的模型有:

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%') 

爲什麼我的代碼會產生這個錯誤?

+0

做你真的有一個名爲列的「第一」,在你的客戶模型?你能顯示db/schema.rb文件嗎? – dimuch 2012-08-09 14:21:40

回答

0

這可能是因爲您在數據庫中的客戶表中沒有第一列。

您是否也許是first_name?

0

試試這個

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

這似乎工作只是缺少一個模板 – Jseb 2012-08-09 14:33:25