Ответ 1
Вам следует попробовать сменить submit_tag на button_tag, что-то вроде этого:
<%= button_tag "Go!", class: "btn btn-transparent", 'data-disable-with' => "<i class='fa fa-spinner fa-spin'></i> Searching...".html_safe %>
У меня есть приложение RoR, использующее bootstrap. Я пытаюсь применить fontovesome тег значка html к помощнику submit_tag, но он, похоже, не поддерживается. Когда я нажимаю кнопку "Отправить", отключенное содержимое просто появляется как строка, а не интерпретируется в html, хотя это делает для хелпера link.to.
Здесь erb:
<%= form_tag("/home/search", method: "get", class: "form-inline", role: "search", remote: true) do %>
<div class="form-group">
<%= text_field_tag(:term, nil, {:class => "form-control", "data-html" => true, :value => @term}) %>
</div>
<%= submit_tag "Go!", class: "btn btn-transparent", role: "button", 'data-disable-with' => "<i class='fa fa-spinner fa-spin'></i> Searching...".html_safe %>
<% end %>
Вот что он выглядит, когда я нажимаю submit:
Он работает с link_to, но тогда я не могу передать значение из text_field_tag в link_ в противном случае, я был бы доволен этим решением. Я бы предпочел не писать сам метод .ajax и использовать javascript для управления значениями кнопок. Любые предложения о том, как решить эту проблему с помощью стандартных тегов FormHelper? Большое спасибо заранее.
Вам следует попробовать сменить submit_tag на button_tag, что-то вроде этого:
<%= button_tag "Go!", class: "btn btn-transparent", 'data-disable-with' => "<i class='fa fa-spinner fa-spin'></i> Searching...".html_safe %>
Если используется simple_form
:
<%= f.button :button, 'Save', class: 'my-class', data: {disable_with: '<i class='fa fa-spinner fa-spin'></i>'} %>
Быстрый совет по созданию кнопки button_to с помощью html_safe и disable_with:
<%= button_to some_path, method: :post, class: 'btn btn-md btn-primary', "data-disable-with": '<span class="fa fa-2x fa-spinner fa-spin"></span>'.html_safe do %>
<span class="fa fa-2x fa-facebook-square"></span>
<% end %>