2017-07-28 16 views
0

Ransackに問題があります。ここに私の検索フォームRansack検索がレールモデルでは機能していませんが、レールコンソールでうまく機能しています

= 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 

Soが問題は、数値フィールドが入力されて文字列に変換されたときにSKU検索が機能しないが、これがrailsコンソールで行われたときにうまくいきます。どんな助けも愛されるだろう:)

答えて

0

私は間違っているかもしれないが、私はスキッシュはストリング方法だと思う。

NoMethodError: undefined method `squish' for 245:Integer 

を念のために、明示的にそれが動作するはずです、最初の文字列に検索値をキャスト:私は整数でそれを呼び出すしようとするとエラーが出る

str = str.to_s.squish 
+0

それは実際に問題でした私の団体の一部と一緒に。私はそれらを更新し、正常に動作しています。ありがとうアンドリュー:) – IamSyedUsama

関連する問題