2012-08-05 30 views
5

Bazı modellerde oldukça karmaşık aramalar yapmak için Ransack kullanıyorum. Bu modellerden biri serbest metin tutar ve kelimeleri etiketlemek için acts_as_taggable gemini kullanır.Ransack kullanarak etiketi arama

Bu sözcüğün bir koleksiyon seçicisini oluşturmaya çalışıyorum; böylece, ransack, kullanıcının tanımlayabileceği etiketlerin bir alt kümesinden tam metin kayıtlarından herhangi birini bulabilir.

Bu beni neredeyse oraya götürür, ancak birden fazla sözcük seçmeye çalışırsam, hiçbir sonuç döndürmez!

= f.select :note_in, @freetexts.tag_counts_on(:tags), {}, {:multiple => true} 

cevap

0

Ransack, karmaşık aramalara yönelik değildir. Eğer yeterince güreşirseniz, karmaşık bir seçim yaptığınız takdirde daha zor bir problemle sonuçlanmanız çok muhtemeldir.

Karmaşık arama için Sequel'i, aynı yazara ait yazardan ve karmaşık aramalara daha iyi yöneltilmiş bir şekilde tavsiye ediyorum. Hiç bir uzman değilim, ama bu sigara Ransack çözüm ile etiketlere göre filtre uygulamak için gereken kişiler için işe yarayabilir Ransack and acts-as-taggable-on issues

0

:

Üstelik thes göre bir çıkmaz üzerinde iplik eylemler-olarak-taggable-on mücevher:

@search = MyModel.ransack(params[:q]) 
@result = @search.result(distinct: true).includes(:related_model) 
@result = @result.tagged_with(params[:tags].split(/\s*,\s*/)) if params[:tags].present? 
@result = @result.paginate(page: params[:page], per_page: 20) 

Bu yeni bir bekler: ransack kapsamı dışındadır etiketleri param. Ransack'in size verdiği sonuçları filtrelemek için kullanabilirsiniz.

İlgili konular