Rails: найти фрагмент текста в элементе ActiveSupport: SafeBuffer - PullRequest
0 голосов
/ 04 декабря 2011

Я использую простую навигацию в моем приложении rails, где у меня есть функция render_navigation с возвращением ActiveSupport: SafeBuffer. Поскольку я хочу удалить выбранный тег, я попытался повторить этот SafeBuffer, но я не уверен, как это сделать ...

    <%= render_navigation(:level => 4).each do |level|
        if !level.to_s.gsub("selected").nil?
           level
        end
    end %>

Это возвращает ошибку:

неопределенный метод to_str' for #

Есть идеи, как это решить?

1 Ответ

0 голосов
/ 04 декабря 2011

При использовании gsub необходимо указать два поля.Строка, которую вы выбираете, и то, что вы хотите заменить.Я полагаю, что в вашем случае вы просто смотрите, существует ли строка.

Я бы порекомендовал match.

if !level.to_s.match(/selected/).nil?

Источник: http://corelib.rubyonrails.org/classes/String.html#M001538

...