2017-07-28 81 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