2017-07-28 69 views
0

工作正常,我有搜查一個問題。這裏是我的搜索表單洗劫搜索不在軌道模型工作,但在軌控制檯

= search_form_for @query, :url => search_products_path, :html => { :method => :get } do |f| 
    %dl.left 
     %dl.left 
     %dt= f.label :sku, t('shoppe.orders.sku') 
     %dd= f.text_field :with_sku 
     %dl.right 
     %dt= f.label :name, t('shoppe.products.name') 
     %dd= f.text_field :with_translated_name 

和搜索自己的模型代碼是

def self.with_sku(sku_string) 
     sku_string = sku_string.squish 
     where("LOWER(shoppe_products.sku) LIKE ?" , "%#{sku_string}%".downcase) 
end 

所以。問題是,當輸入並轉換爲字符串,數字字段SKU搜索無法正常工作,但是當這種在軌控制檯完成其工作正常。任何幫助將是愛:)

回答

0

我可能是錯的,但我覺得擠是一個字符串的方法。試圖調用它的整數。當我得到的錯誤:

NoMethodError: undefined method `squish' for 245:Integer 

爲安全起見,明確地投你的搜索值的字符串第一,那麼它應該工作:

str = str.to_s.squish 
+0

它實際上是一個問題與我的一些協會。我更新了它們,它工作正常。謝謝安德魯:) – IamSyedUsama