2016-04-08 2 views
0

私は賞賛コマースのアプリケーションに取り組んでいます。私は製品フィルターに問題があります。私は範囲のフィルタを編集することができますが、私は "すべての価格"のフィルタを追加したい。ここでスプレー商取引のフィルター範囲

はコードです:

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)]] 
     { 

だから0 として、あるいはの上に取り組んでいます。しかし、私はこの行を変更する必要があり、「すべての価格」

としてそれを見せたいが、私はどのように知らない:事前に

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

感謝を。ちょうどあなたのconfig /ロケール/ en.yml

all_prices: all prices 

に追加

+0

は、これはどのように条件のいずれもが選択されていない場合と異なるのでしょうか? 「すべての価格」と価格帯の両方が選択されている場合、何を期待していますか? – joanbm

+0

ラジオボタンです。選択不可能なので、「なし」に戻ることができます – Thrasher

+1

価格フィルタの処理方法を変更した場合(いいえ、ビューレベルでの変更では不十分です)、条件あなたの最後の例のように、すべての場合に一致する '' '、' nil ''のような空のものを使用するか、コントローラでカスタム処理を行います。 – joanbm

答えて

1

は、あなたのcondsに配列

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

しかし、後でor_over_priceを使いたいです。私はall_pricesを作成する必要がありますか? – Thrasher

+0

はい、or_over_priceを保持する場合は、all_pricesを作成する必要があります。 –

関連する問題