Чтобы обойти эту проблему, я создал объект для хранения «не заключенных в кавычки» элементов Javascript, таких как выходные данные функции, а затем добавил «to_javascript» в Hash, который использует версию без кавычек в объектах, которые делают ее доступной.
Например, это работает для меня:
параметры [: управления] = {
: bold => {: visible => true},
: italic => {: visible => true},
: underline => {: visible => true},
: insertUnorderedList => {: visible => true},
: lol => {
: visible => true,
: exec => JavascriptUnquoted.new ("function () {$ ('## {html_id}'). wysiwyg ('insertImage', '/images/lol_emoticon.jpg');}")
}
options.to_javascript ==> {"controls": {"курсив": {"visible": true}, "подчеркивание": {"visible": true}, "insertUnorderedList": {"visible": true} , "lol": {"visible": true, "exec": function () {$ ('# review_text'). wysiwyg ('insertImage', '/images/lol_emoticon.jpg'); }}}
https://gist.github.com/771749