Использование загрузочного глификона в кнопке Rails с использованием button_tag или form_for

Казалось бы тривиальная задача использования начального глификона в кнопке отправки формы совсем не та. Я не могу заставить button_tag или form_for работать.

button_tag успешно показывает глификон, но терпит неудачу, потому что (смотря на консоль) он не отправляет запрос на сервер. Он мертв, ничего не происходит:

<%= button_tag(type: 'submit', name: nil, class: 'btn btn-default btn-xs', id: 'vote_button', 
               path: postvoterelationships_path, remote: true) do %>
  <span class='glyphicon glyphicon-star-empty' aria-hidden="true"></span>
  <%= hidden_field_tag(:voter_callsign, @character.callsign) %>
  <%= hidden_field_tag(:voted_id, @post.id) %>
<% end %>

form_for терпит неудачу, потому что, хотя он успешно отправляет запрос, я не могу заставить его отображать глификон. Следующие два варианта просто создают большую серую кнопку с надписью «Создать поствотерелизацию» посередине:

<%= form_for(@character.active_post_vote_relationships.build, remote: true) do |f| %>
  <div><%= hidden_field_tag(:voter_callsign, @character.callsign) %></div>
  <div><%= hidden_field_tag(:voted_id, @post.id) %></div>
  <%= f.submit do %>
    <span class="glyphicon glyphicon-star-empty"></span>
  <% end %>
<% end %>

<%= form_for(@character.active_post_vote_relationships.build, remote: true) do |f| %>
  <div><%= hidden_field_tag(:voter_callsign, @character.callsign) %></div>
  <div><%= hidden_field_tag(:voted_id, @post.id) %></div>
  <%= f.submit class: "glyphicon glyphicon-star-empty" %>
<% end %>

Как заставить button_tag отправить запрос или form_for отобразить глификон?


person Bazley    schedule 18.06.2015    source источник


Ответы (1)


Вы можете попробовать button_to

<%= button_to postvoterelationships_path, class: 'btn btn-default btn-xs', params: {voter_callsign: @character.callsign, voted_id: @post.id}, remote: true do %>
  <span class="glyphicon glyphicon-star-empty"></span>
<% end %>
person Subtletree    schedule 18.06.2015