Witam,
chcialem prosic o pomoc w kwestii takiej, ze szukam w tablicy
@product okreslonych ciagów znaków, ktore chcialbym podawać po przecinku, cos w stylu…
@product.name.include? [“szukany tekst1”, “szukany tekst 2”]
czyli szukam okreslonych nazw, ktore zawierają “tekst 1” lub “tekst 2”, cos na kształ SQL’owego name LIKE ‘%tekst1’ OR name LIKE ‘%tekst2’
chcialem mozliwie zrobic to w jednym wierszu, pewnie sie da, ale mam z tym problemy…
dzieki serdeczne za pomoc…
[quote=isgabrys]Witam,
chcialem prosic o pomoc w kwestii takiej, ze szukam w tablicy
@product okreslonych ciagów znaków, ktore chcialbym podawać po przecinku, cos w stylu…
@product.name.include? [“szukany tekst1”, “szukany tekst 2”]
czyli szukam okreslonych nazw, ktore zawierają “tekst 1” lub “tekst 2”, cos na kształ SQL’owego name LIKE ‘%tekst1’ OR name LIKE ‘%tekst2’
chcialem mozliwie zrobic to w jednym wierszu, pewnie sie da, ale mam z tym problemy…
dzieki serdeczne za pomoc…[/quote]
class Product < ActiveRecord::Base
named_scope(:with_names, lambda { |names| { :conditions => [(1…names.size).map { ‘protucts.name = ?’ }.join(" OR "), *names] })
end
a potem juz tylko Product.with_names([‘a’,‘b’,‘c’]) zwroci wszystkie elementy o nazwie ‘a’ ‘b’ i ‘c’
Nie wiem czy o to chodzi 
juz odpowiadam…
nie wiem czy dobrze robie, ale ja juz mam pobrany 1 produkt w obrebie mojego widoku i w tym widoku mam umieszczony warunek, ze jezeli produkt w swojej nazwie ma szukany ciag znakow to jest OK, a jezeli nie to fragmentu nie przerabia… chodzi o to, ze ja wlasnie w tej nazwie produktu szukam kilku wystapień (określonych np. słów) i jezeli znajdzie to jest ok, a jezeli nie to olewa reszte kodu…
takie szukanie kilku (zalozmy 10 slow) w nazwie produktu, np. produkt “Kaszanka wiejska” i szukam w nazwie tej np. “salceson”, “szynka”, “pasztet” - szukam ktoregos z tych slow w nazwie produktu, jezeli znajdzie to chce to “wiedziec”…
czyli pewnie chodzi o kwestie szukania stringów (bądz tablicy tych słów) w stringu zrodlowym
no to po prostu odwroc swoj warunek:
if [‘kaszanka’, ‘salceson’, ‘parówka’, ‘sucha krakowska’, ‘mielonka’].include?(@product.name)