Создать систему отчетов в Rails - PullRequest
0 голосов
/ 18 мая 2011

Я пытаюсь адаптировать свою систему сообщений, чтобы иметь возможность использовать ее для отправки отчетов пользователям. Например, пользователь может завершить работу, а затем он получит личное сообщение в качестве отчета об этом.

Проблема заключается в сохранении отчета в моей базе данных. Отчет - это не просто текст. Он может иметь ссылки или даже пользовательские данные, которые ранее были сохранены в БД.

Моя идея заключалась в том, чтобы использовать render_to_string для рендеринга представления в переменную, а затем сохранить его в базе данных как новое сообщение. Тем не менее, пользовательские данные и ссылки являются проблемой, потому что они не экранированы. В идеале, html-теги, такие как
, не должны быть экранированы, как и link_to. Однако, если где-то в отчете есть <% = user.username%>, этот должен быть экранирован.

Я немного споткнулся с этим. Знаете ли вы эффективный способ сделать это?

1 Ответ

1 голос
/ 19 мая 2011

Обычно все, что находится в режиме HTML, вы можете выбрать с помощью:

<%= h(user.username) %>

Это простой вспомогательный метод "render safe HTML", доступный для всех представлений. Обычный текст не должен быть экранирован таким же образом.

...