Приведите значение явно к числу, иначе это будет строка, операторы Switch
в Javascript всегда используют строгую проверку типов (===), поэтому ваш пример всегда будет возвращать значение по умолчанию.
var number= +document.getElementById('m').value;
Был передан решение в Railscasts
Если Вы хотите *все* результаты, чтобы та модель отфильтровала записи, где published_at ЯВЛЯЕТСЯ ПУСТЫМ, добавьте, 'где "published_at NOT NULL"' к Вашему define_index блоку.
Если это только иногда, добавьте published_at как атрибут, и затем сфинкс должен сохранить пустые даты как 0, таким образом, можно отфильтровать использование: без => {: published_at => 0}
Второе решение было тем, в чем я нуждался.