Как мне разрешить рельсы иметь JavaScript: в данных - PullRequest
1 голос
/ 09 февраля 2010

У меня есть база данных ad html, и некоторые из них содержат функции Javascript. Есть ли способ заставить рельсы разрешать теги javascript: для определенного атрибута в конкретной модели?

Чтобы уточнить, я могу отобразить html в форме редактирования, но когда я пытаюсь отправить запрос, мой браузер (Firefox) сообщает, что соединение сброшено. IE тоже выдает ошибку. Единственное, что позволяет отправлять html - это удалить javascript: из тега.

Я предполагаю, что Rails это мера безопасности, запрещающая внедрение javascript, однако я не контролирую html этих объявлений, и многие из них содержат javascript.

Если мое предположение действительно верно, есть ли способ переопределить безопасность для этого одного атрибута этой одной модели? Или я далеко от цели?

Я использую Rails 2.3.4 на Ruby 1.8.7

Ответы [ 2 ]

0 голосов
/ 10 февраля 2010

Не видя никакого кода, я предполагаю, что вы используете sanitize. Вместо того, чтобы дезинфицировать, рассмотрите возможность передачи и сохранения сброшенного JavaScript, а затем удалите его, когда вам действительно понадобится его использовать.

0 голосов
/ 09 февраля 2010

Теперь я никогда не использовал rails, но идея должна быть одинаковой, вы просто хотите сохранить javascript как строку, а затем, когда вы ее отображаете, не экранируйте данные. Лучшим способом сделать это будет ссылка на ваш javascript, а затем просто сохранить вызовы функций в вашей базе данных.

...