У меня в основном есть форма, которая отправляет удаленный запрос GET, который затем отображает модальное. У меня есть несколько разных действий, которые могут использовать одну и ту же модель, поэтому я просто пытаюсь использовать помощник и jQuery для отображения разных данных, в зависимости от того, что отображается.
Вот с чем я имею дело. Это мой файл add_users.js.erb (который вызывается после удаленного запроса GET):
$('.modal-footer').html("<%= import_users_html %>");
Вот как выглядит помощник:
def import_users_html
html = link_to '<i class="fa fa-download"></i> Import Users'.html_safe, '#', remote: :true, class: "btn btn-success btn-sm"
return html
end
Однако, когда он возвращает HTML, он не отображается в разделе <div class="modal-footer"
. Если я заменим этот import_users_html
на «Hello World», он будет работать отлично.
Где-то не нравятся результаты html. Вот что на самом деле составляет переменная html
до ее возвращения в представление add_users.js.erb
:
[2] pry(#<#<Class:0x00007f3bbe257050>>)> puts html
<a class="btn btn-success btn-sm" data-remote="true" href="#"><i class="fa fa-download"></i> Import Users</a>
Я пробовал случайные вещи, такие как html_safe
, raw
, и, похоже, ничего из этого не работает по какой-то странной причине.
** РЕДАКТИРОВАТЬ **
Итак, я понял, что это потому, что link_to
в конечном итоге преобразует ссылку, чтобы включить двойные кавычки, что я и использую в своем add_users.js.erb
помощнике, поэтому я думаю, что это конфликтует.