Обновление до Haml 5.0 удаляет поддержку динамических цитат c, приводящую к ошибке синтаксического анализа Nokogiri - PullRequest
3 голосов
/ 03 марта 2020

Создан этот вопрос в github Haml: https://github.com/haml/haml/issues/1023

Обновление до Haml 5.0 вызывает изменения в связи с удалением динамических c функций цитат

Для Например, если бы я использовал Nokogiri для анализа следующего хамла (где «...» - это еще один частичный)

%a.nav{:"data-content" => render ... }

, я получаю

<a class='nav' data-content='<div id='...'>' >

Когда то, что я хотел, было

<a class='nav' data-content="<div id='...'>" >

Бег

Nokogiri::HTML.fragment("<a class='nav' data-content='<div id='...'>'>")

Дает мне

#(Attr:0x3f7ea6e9adcc { name = "data-content", value = "<div id=" })

Бег

Nokogiri::HTML.fragment("<a class='nav' data-content=\"<div id='...'>\">")

Дает мне обратно

#(Attr:0x3f7ea6c0b4e4 { name = "data-content", value = "<div id='...'>" })

Похоже, что удаление динамической c кавычки повлияло на возможность анализа через вывод HTML. Есть ли способ повторно включить динамическое цитирование c или исправить проблему другим способом?

1 Ответ

0 голосов
/ 03 марта 2020

Мне удалось найти уже существующую проблему здесь: https://github.com/haml/haml/issues/925, которая решила мою проблему.

Решение, похоже, заключается в

%a.nav{:"data-content" => "#{render ... }" }
...