title: Unexpected behaviour depicted by find_by id in rails
body: <p>I am facing a very weird problem, when a string containing number and alphabets is provided to find_by it internally runs to_i on string(as per observation) provided and return the object. I was expecting that it should return nil in that case. Please help me out in this.</p>
  <pre><code>Shop.find_by(id: '22456a12m3')
  </code></pre>
  <pre><code>  Shop Load (0.6ms)  SELECT  &quot;shops&quot;.* FROM &quot;shops&quot; WHERE &quot;shops&quot;.&quot;cancelled_at&quot; IS NULL AND &quot;shops&quot;.&quot;id&quot; = $1 LIMIT $2  [[&quot;id&quot;, 22456], [&quot;LIMIT&quot;, 1]]
  </code></pre>