HAML Markdown Filter Blacking на примере RUBY CODE в Rails
-
02-10-2019 - |
Вопрос
Я использую HAML в рельсах и был написан с помощью: Markdown Filter (BlueCloth GEM), но в RUBY, но в RUBY, а страница пытается выполнить # {значения}, как я могу остановить это?
Вот разбитый бит кода:
:markdown
like_frags = [fields].flatten.map { |f| "LOWER(#{f}) LIKE :word#{count}" }
or_frags << "(#{like_frags.join(" OR ")})"
binds["word#{count}".to_sym] = "%#{word.to_s.downcase}%"
count += 1
end
Ошибка, которая возвращается:
undefined local variable or method `f'
Я нашел решение сам, но это далеко от идеала:
- f=nil;count=nil;like_frags=[];word=nil;
Я размещаю это до того, как начинается: Markdown Filter.
Я знаю, что это можно сделать, потому что Stackoverflow не сломался, когда я писал это, так как я тоже могу добиться этого?
Заранее спасибо!
Решение
На документацию HAML интерполяция в фильтрах нормально и ожидается. Обходить его, вы можете просто избежать #{}
Синтаксис интерполяции, подготовив обратную челюсть:
:markdown
like_frags = [fields].flatten.map { |f| "LOWER(\#{f}) LIKE :word\#{count}" }
or_frags << "(\#{like_frags.join(" OR ")})"
binds["word\#{count}".to_sym] = "%\#{word.to_s.downcase}%"
count += 1
end
Не связан с StackOverflow