У меня есть приложение Rails, которое я пытаюсь реализовать редактор WYSIWYG (ртуть), чтобы пользователь мог обновлять статические страницы сайта.Могу ли я разобрать файл SLIM с помощью Nokogiri?
Пользователь будет сильным пользователем или каким-то человеком, которого я хочу обновить на своем сайте. Страница будет похожа на страницу index.slim.html. Содержимое для обновления - это статический контент (не сохраняется в БД).
Я использую Mercury.
Содержание обновления будет что-то вроде этого:
hr
#header_content data-mercury='full'
p.lead Ratione, quasi, enim voluptates porro voluptas quaerat recusandae reprehenderit vitae aliquid earum ex quo assumenda doloremque ea dolores maxime error suscipit exercitationem.
я следующие данные, представлены в контроллер Rails:
{"content"=>{"header_content"=>{"type"=>"full", "data"=>{}, "value"=>"<p class=\"lead\">\n Ratione, quasi, enim voluptates porro voluptas quaerat recusandae reprehenderit vitae aliquid earum ex quo assumenda doloremque ea dolores maxime error suscipit exercitationem.\n </p>", "snippets"=>{}}}, "_method"=>"PUT", "controller"=>"pages", "action"=>"mercury_update", "id"=>"index", "page"=>{"content"=>{"header_content"=>{"type"=>"full", "data"=>{}, "value"=>"<p class=\"lead\">\n Ratione, quasi, enim voluptates porro voluptas quaerat recusandae reprehenderit vitae aliquid earum ex quo assumenda doloremque ea dolores maxime error suscipit exercitationem.\n </p>", "snippets"=>{}}}}}
Или печататься немного симпатичнее:
page to update:
"index"
path to this page:
app/views/pages/index.html.slim
Content:
Html ID:
header_content
html:
<p class="lead">
Ratione, quasi, enim voluptates porro voluptas quaerat recusandae reprehenderit vitae aliquid earum ex quo assumenda doloremque ea dolores maxime error suscipit exercitationem.
</p>
Итак, <div>
с идентификатором header_content
необходимо заменить его содержимое на HTML.
Как я могу найти Nokogiri, чтобы найти этот идентификатор, обновить содержимое (в Slim) и сохранить его? Нужно ли мне просто использовать Slim для любых страниц, которые должны иметь эту функцию?
Я боюсь, ваш вопрос не совсем понятно, что вы имеете в виду под «обновить содержание (в тонкий) и сохранить его» ? Не хотите ли вы сохранить текстовую область HTML в своей базе данных и вывести ее на свою статическую страницу? – Liyali
Будет ли это статичным? Я никогда не делал этого раньше, но я думал, что я хочу, чтобы пользователь обновил HTML (а не запись в БД). Это плохая идея? – Jeff
Иными словами, пользователь будет редактировать вашу страницу на лету, не сохраняя ее в постоянном хранилище? – Liyali