2016-04-08 17 views
0

Bir spree ticaret uygulaması üzerinde çalışıyorum. Ürün filtreleriyle ilgili sıkıntılarım var. Aralık filtrelerini düzenleyebilirim ancak "tüm fiyatlar" filtresini eklemek istiyorum.Spree ticaret üzerinde filtre aralığı

conds = [ [ Spree.t(:or_over_price, price: format_price(0)) , v[:amount].gteq(0)], 
        [ "#{format_price(25000)} - #{format_price(50000)}"  , v[:amount].in(25000..50000)], 
        [ "#{format_price(50000)} - #{format_price(75000)}"  , v[:amount].in(50000..75000)], 
        [ "#{format_price(75000)} - #{format_price(100000)}"  , v[:amount].in(75000..100000)]] 
     { 

Yani 0 veya üzerinde olarak çalışıyor: İşte

kodudur. Ama ben bu satırı değiştirmeniz gerekir "tüm fiyatlara"

olarak göstermek istiyorum ama nasıl bilmiyorum: önceden

[ Spree.t(:or_over_price, price: format_price(0)) , v[:amount].gteq(0)] 

teşekkür ederiz. şartların hiçbiri seçildiğinde

+0

Bu nasıl bir durumda farklı olurdu sizin conds dizideki

all_prices: all prices 

ardından yapılandırma/yerel/en.yml eklemek? Hem "tüm fiyatlar" hem de fiyat aralıkları seçildiğinde ne bekliyorsunuz? – joanbm

+0

Bu bir radyo düğmesidir, bu seçilebilir değildir, bu nedenle "hiçbir koşulda" – Thrasher

+1

geri dönebilirsiniz. Sonra fiyat filtrelerinin nasıl işlendiğini değiştirdiyseniz (no, görünüm düzeyinde değişiklik yeterli değil), koşulu kullanabilirsiniz Son örneğinizde olduğu gibi, tüm durumlarla eşleşecek olan, boş olanı '[' all ', nil] 'gibi kullanın veya bir denetleyicide özel bir işlem yapın. – joanbm

cevap

1

Sadece

conds = [ [ Spree.t(:all_prices) , v[:amount].gteq(0)], 
       [ "#{format_price(25000)} - #{format_price(50000)}"  , v[:amount].in(25000..50000)], 
       [ "#{format_price(50000)} - #{format_price(75000)}"  , v[:amount].in(50000..75000)], 
       [ "#{format_price(75000)} - #{format_price(100000)}"  , v[:amount].in(75000..100000)]] 
    { 
+0

Ama daha sonra or_over_price kullanmak istiyorum. O zaman all_prices oluşturmalı mıyım? – Thrasher

+0

evet, or_over_price ile devam etmek istiyorsanız, all_prices oluşturmalısınız. –