2014-03-28 3 views
1

Ну, я натолкнулся на какую-то ошибку или «особенность». Когда я попытался добавить функцию выделения поискового запроса в свой проект. Когда нет поискового запроса на странице, выделите думает, что params[:query] пустая строка и, таким образом, происходит следующим образом:рельсы выделяют помощник - странное поведение, когда [""] прошло

2.1.1 :002 > query = "" 
=> "" 
2.1.1 :003 > helper.highlight('Some String', [query]) 
=> "<mark></mark>s<mark></mark>o<mark></mark>m<mark></mark>e<mark></mark> <mark></mark>s<mark></mark>t<mark></mark>r<mark></mark>i<mark></mark>n<mark></mark>g<mark></mark>" 

Есть ли способ, чтобы не выделить if query is empty?

ответ

1

highlight вернет исходный текст, если аргумент phrases пуст. Вы могли бы назвать это так:

helper.highlight('Some String', [query].select(&:present?)) 

Если query пустым, phrases также будет пустым.

Смежные вопросы