Rails 3 рендеринг iframe с помощью raw () - PullRequest
0 голосов
/ 01 июля 2011

Итак, я сохраняю весь код для вставки из YouTube в свою базу данных, а затем выводю его следующим образом.

<%= raw(people.video) %>

, который выводит общий тег iframe, скопированный с YouTube:

<iframe src="foo" width=400 height=380></iframe>

проблема в том, что он отображает этот тег, а не встраивает видео в саму страницу.Я могу обойти это, просто сохранив src в базе данных .... но это часть системы мини-cms, и администраторам сайта будет гораздо проще просто скопировать и вставить код для вставки из youtube.Можно ли как-то указать, что iframe будет отображаться, а не просто выкладывать html на страницу?

1 Ответ

0 голосов
/ 05 июля 2011

Вы можете использовать метод raw для рендеринга HTML-строки, вы храните его таким образом? Вы также можете попробовать гем RedCloth - мне удалось заставить его работать так:

<%= raw RedCloth.new(@page_content.content).to_html %>

Что позволило моей пользовательской CMS использовать текстовую разметку http://en.wikipedia.org/wiki/Textile_%28markup_language%29

Я не на 100% понимаю, что вы видите, поскольку raw должен отображать HTML, но вы также можете попытаться включить тег embed с помощью JavaScript.write, поскольку есть некоторые проблемы, связанные с Flash-объектами, встроенными в HTML. против JavaScript.

Дайте мне знать, если это не сработает, и если да, можете ли вы предоставить скриншоты или скопировать то, что видите на странице?

...