Yeah, it looks bad, but Rails is smarter than it looks.  The second = is ignored because there isn't an & in front of it, so Rails will return params[:filter] => sold_out=false.

Technically, I think you are correct, it is almost certainly invalid to have a reserved character like = in the query string without escaping it.

In reality, we can get away with it because Rails is nice to us and doesn't go by what I understand to be the strict letter of the law.