title: Search for a null value using Ransack 'eq' predicate
body: <p>Using the 'eq' predicate with a blank value, Ransack will cancel out that predicate. Which is obviously handy to have an "All" option in your select. </p>
  
  <p>But what if I want to <strong>add an option in my <code>&lt;select&gt;</code> for null values too</strong>? In order words how to produce the SQL query <code>SELECT * FROM spree_orders WHERE order_cycle_id = NULL</code> using the 'eq' predicate.</p>
  
  <p>My test code (with results) is below. What I would like is to filter out the <code>Order</code>s where <code>order_cycle_id == nil</code></p>
  
  <pre><code>Spree::Order.search(order_cycle_id_eq: nil).result.map(&amp;:order_cycle_id)
  Spree::Order Load (2.2ms)  SELECT "spree_orders".* FROM "spree_orders" 
   =&gt; [nil, 1, nil, nil, nil, nil, nil, nil, 1, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 4, nil, 4, nil, nil, nil, nil] 
  </code></pre>
  
  <p>The second option is what I'd like to add to my select. I've tried 'null', 'nil', <code>nil</code>, etc..</p>
  
  <pre><code>&lt;select id="q_order_cycle_id_eq" name="q[order_cycle_id_eq]"&gt;
    &lt;option value=""&gt;All&lt;/option&gt;
    &lt;option value="nil"&gt;No Order Cycle&lt;/option&gt;
    &lt;option value="1"&gt;Order Cycle 1&lt;/option&gt;
    &lt;option value="2"&gt;Order Cycle 2&lt;/option&gt;
  &lt;/select&gt;
  </code></pre>