Вопрос

У меня довольно средняя форма в рельсах, кормушка Blog_kit.

<% form_for(@blog_post, :html => { :multipart => true }) do |f| %>\
  ... other code
  <%= f.text_area :body %>
  <%= debug(@blog_post) %>

При редактировании блогов-поста тело внезапно содержит дополнительные пробелы (помеченные как _ для визуализации):

...sit amet eleifend diam imperdiet pharetra.
__ 
__## FOO?
__Morbi nec

Поскольку Textarea - это осознание пространства, он покажет пробелы. Об обновлении они добавляются в базу данных.

Эти пространства не в базе данных (до ошибочного обновления, упомянутого выше, то есть). Модель Blogpost.find (1) содержит эти пробелы.

script/console » b = BlogPost.find(1)
» puts b.body
...sit amet eleifend diam imperdiet pharetra.

## FOO?
Morbi nec

Похоже, что какая-то логика добавляет пробелы после получения базы данных, но перед рендерингом в форме частично. Кандидаты:

  • BlueCloth. У меня есть это включено, но не может найти место, где он будет подключен к процессу нагрузки и изменять тело, прежде чем он отображается в текстурее.
  • Хамль. Частичный _form.html.rb не (все же) мигрировал на _form.haml, поэтому я предполагаю, что Haml остается подальше от этого куска. Но это может быть частью неприятностей?

Я не знаю, с чего начать смотреть, поэтому любые подсказки будут очень рады.

Это было полезно?

Решение

Это проблема HAML. Видеть http://haml-lang.com/docs/yardoc/file.faq.html#q-preserve.

В моем случае моя форма еще не преобразована в HAML (например, вы), но у меня было приложение .html.haml преобразован. Похоже, что HAML делает некоторые отступы даже для частиц, которые не в формате HAML.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top